python for android : 显示图片

Python游戏引擎开发(三):显示图片 在前面的章节中,我们屡次提到了显示对象这个东西,那显示对象到底是什么呢?顾名思义,它是一个可视的物体,比如说游戏中的人物,地图等。例如`list`,`tuple`等,这些对象是不可以显示的,它们只用于内部的数据存储,所以不是显示对象。同理,游戏中的资源加载器也不是显示对象。程序开发可以看作一个归类的过程(所以`class`成为了一种主要的程序语句)。如果我们以对象的尺寸,或者颜色来分类显示对象,那么可能会出现这些 阅读详情

参考: https://code.google.com/p/android-scripting/wiki/FullScreenUI

这是一个简单的图片查看小程序 ,只有基本功能: back  选图片 next  ,还有一个没能实现的功能:横屏显示。

imageview.py

# -*- coding: utf-8 -*-
import android
import os,sys,time
reload(sys)
sys.setdefaultencoding('utf-8')
droid = android.Android()

base_dir = '/mnt/sdcard/DCIM/'
if not os.path.isdir(base_dir):
    print base_dir,'is not dir'
    sys.exit(4)

def show_dir(path=base_dir):
    """Shows the contents of a directory in a list view."""
    
    nodes = sorted(os.listdir(path))
    # Make a way to go up a level.
    if path != base_dir: nodes.insert(0, '..')
    droid.dialogCreateAlert(os.path.basename(path).title())
    droid.dialogSetItems(nodes)
    droid.dialogShow()

    # Get the selected file or directory.
    result = droid.dialogGetResponse().result
    droid.dialogDismiss()
    if 'item' not in result:
        return
    target = nodes[result['item']]
    target_path = os.path.join(path, target)
    if target == '..':
        target_path = os.path.dirname(path)
    
    if os.path.isdir(target_path):
        return show_dir(target_path)
    elif os.path.splitext(target)[1].lower() in ('.jpg','.png'):
        return target_path
    # inform the user.
    else:
        droid.makeToast('Only .jpg .png files are currently supported!')
        return

target_path = None
target = ''
path =''
alist =[]

def init():
    global target_path, target,path,nodes
    target_path = show_dir()
    path = os.path.dirname(target_path)
    alist = imagelist(path)
    show_image()
    return

def show_image():
    global target_path, target,path
    if target_path is None: return
    if os.path.exists(target_path):
        target = os.path.basename(target_path)
        img = 'file://' + target_path
        droid.fullSetProperty("imageView","src",img)
    else:
        droid.makeToast('Error: %s not exists',path)
    return

def imagelist(path):
    global alist
    nodes = sorted(os.listdir(path))
    alist =[]
    for f in nodes:
        if os.path.splitext(f)[1].lower() in ('.jpg','.png'):
            alist.append(f)
    return

def back():
    global target_path,target, alist
    j = None
    for i in range(0,len(alist)):
        if alist[i]==target:
            j=i
            break
    if j is None: return
    if j >0:
        target = alist[j-1]
        target_path = os.path.join(path, target)
        show_image()
    else:
        droid.makeToast('this is begin image')
    return

def next():
    global target_path,target, alist
    j = None
    len1 = len(alist)
    for i in range(0,len1):
        if alist[i]==target:
            j=i
            break
    if j is None: return
    if j < len1-1:
        target = alist[j+1]
        target_path = os.path.join(path, target)
        show_image()
    else:
        droid.makeToast('this is end image')
    return

def sensor():
    droid.startSensingTimed(1, 250)
    s4 = droid.sensorsReadAccelerometer().result
    x,y,z =s4    
    if x<1.0 and y>3.0 :
        droid.makeToast('portrait  纵向 ')
    if x>3.0 and y<1.0 :
        droid.makeToast('landscape 横向 ')
    if x<1.0 and y<1.0 :
        droid.makeToast('horizontal 水平')
    return

def eventloop():
  while True:
    event=droid.eventWait().result
    if event["name"]=="click":
      id=event["data"]["id"]
      if id=="image":
        init()
      if id=="next":
        next()
      if id=="back":
        back()
      if id=="sensor":
        sensor()
      if id=="Exit":
        return
    elif event["name"]=="screen":
      if event["data"]=="destroy":
        return

layout = """<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/background"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent" android:background="#ff000000">
  <LinearLayout android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
        <Button
            android:id="@+id/Exit"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:text="退出"
            />
        <Button
            android:id="@+id/back"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:text="《"
            />
        <Button
            android:id="@+id/image"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:text="图片"
            />
        <Button
            android:id="@+id/next"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:text="》"
            />
        <Button
            android:id="@+id/sensor"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:text="目"
            />            
  </LinearLayout>

  <ImageView
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:adjustViewBounds="true"
    />

</LinearLayout>
"""

droid.fullShow(layout)
eventloop()
droid.fullDismiss()



安卓手机上运行Python爬虫 1. 安装Termux 在软件市场搜索下载安装即可, 这个软件可以让你把手机当Linux电脑使用, 除了屏幕小点儿. 为了敲命令方便, 建议安装输入法: CodeBoard, 功能键几乎都有了 参考自安卓手机运行python程序的软件:Termux 注: py是因为用了别名 alias py=‘python’ 2. 安装环境 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那. 阅读详情

相关推荐

python安卓程序,python软件安卓版

大家好,小编来为大家解答以下问题,python3安卓版下载,python软件安卓版,现在让我们一起来看看吧!

神经网络爱好者 3192

Python服务端,通过TCP发送一张图片给Android客户端,客户端把图片显示出来

python 代码: import socket import sys s = socket.socket() #s.connect(("localhost",9999)) s.connect(("192.168.0.111",33456)) f=open ("1.jpg", "rb")  l = f.read(1024) while (l):     s.sen

山沟沟里有大牛 6338

Python开发安卓应用:Kivy框架实践指南

Python作为通用编程语言,凭借其简洁语法和丰富生态在多个领域展现优势。在移动开发领域,通过Kivy框架可以实现跨平台应用开发,其核心原理是利用OpenGL ES进行图形渲染,并通过Python虚拟机在安卓环境运行。这种技术方案特别适合快速开发工具类应用和教育软件,能显著提升开发效率。Kivy采用独特的Kv声明式UI语言,实现了界面与逻辑的分离,配合Buildozer打包工具可以生成标准APK文件。在实际工程中,开发者需要注意NDK版本兼容、性能优化等关键点,对于需要深度集成原生功能的情况,可通过Pyjn

weixin_34099526的博客 445

python屏幕找图_[Python]从安卓手机获取屏幕截图

按照惯例首先是准备环境啦:一、配置adb1.找到android sdk的本地路径,adb命令在platform-tool下面,记为XXXX我的路径是(/Applications/eclipse/android-sdk-mac_x86/platform-tools)2.打开终端输入touch .bash_profileopen -e .bash_profile 点回车3.添加路径.bash_pro...

weixin_39955421的博客 467

android使用python图像库pillow

android使用python图像库pillow的例子

手机使用python操作图片文件(pydroid3)过程详解

主要介绍了手机使用python操作图片文件(pydroid3)过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python for android : 手机摇一摇

手机摇一摇的测试脚本 sensor1.py 原理:x轴 y轴 z轴 有一接近或大于2g = 2*9.8= 19.6 即可 s4= droid.sensorsReadAccelerometer().result

belldeep的专栏 2757

Linux基础——“C语言高级编程” C语言中的细节你真的知道吗?

文章目录GCC简介 GCC简介 gcc 所支持后缀名解释 .c c原始程序 .C / .cc /.cxx C++原始程

weixin_44278698的博客 2511

android python 纠正图片,python for android : 显示图片

参考:https://code.google.com/p/android-scripting/wiki/FullScreenUI这是一个简单的图片查看小程序 ,只有基本功能: back 选图片 next ,还有一个没能实现的功能:横屏显示。imageview.py# -*- coding: utf-8 -*-import androidimport os,sysreload(sys)sys....

weixin_31147757的博客 166

ZBrush 2021来了

这次给大家带来的是:zbrush2021.1.1 win安装教程 1.下载压缩包之后解压到文件夹当中,然后打开ZBrush_2021_Installer.exe进行软件安装, 如下图 2.在这里我们保持默认的简体中文版即可,然后点击确认,如下图 3.第三步我们点击前进即可,如下图 4.第四步我们来到许可协议,在这里我们点击我接受此协议,然后点击前进,如下图 5.第五步我们来到安装目录,在这里我们可以设置安装路径,如下图 6.在这里我将安装目录修改安装到E盘为例,然后点击下一

3D游戏建模 1188

基于javaEE的图书管理系统

极简的图书管理系统,无任何样式修饰,适合新手练手(图文并释) 1、实现了用户注册、登录,图书的添加、修改、删除和修改操作 2、工具需要:eclipse、mysql、Tomcat 3、做系统之前在eclipse需要配置Tomcat服务器和导入mysql连接数据库的jar包 4、数据库中建一个user表存用户信息,一个book表存图书信息 一、各种页面 index.html文件,系统运行的首页,有登录...

qq_44357792的博客 2万+

如何在python中显示电脑中的图片-python如何实现多个图片显示在屏幕上?

pygame的三个方法(屏幕上显示需要的图片)yuhu102319582018-12-16python将多幅图片显示在一张图片上wugui1111116282018-06-15iOS 图片显示原理potato51215742015-02-105_python将多张图片显示在一张图片上(20181218)weixin_410101987732018-12-182048小游戏的实现weixin_402...

weixin_37988176的博客 2460

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4377

安卓平板python编程软件,安卓平板可以运行python

大家好,本文将围绕安卓平板python编程软件展开说明,安卓平板可以运行python是一个很多人都想弄明白的事情,想搞清楚安卓平板可以用python需要先了解以下几个事情。

chatgpt001的博客 2866

14、多层螺旋 CT 技术详解

本文详细解析了多层螺旋CT(MSCT)技术的原理与应用,涵盖其相对于单层螺旋CT的优势,包括图像采集速度提升、分辨率提高和噪声降低。文章深入探讨了扫描仪的几何结构、离散投影模型以及关键参数如切片宽度和螺距的影响,并重点介绍了z-滤波重建算法及其离散实现流程。通过流程图和公式推导,系统梳理了从投影获取到图像重建的全过程。同时分析了MSCT在临床中的实际应用案例及未来发展趋势,如更高分辨率、更低辐射剂量和智能化算法等方向,全面展示了MSCT在现代医学影像中的核心价值。

f0g1h2的博客 195

Qt Creator配置MSVC编译环境、调试环境

获取和安装:cdb.exe 在 Debugging tools for Windows 中,而现在已经不单独提供下载,只在Windows SDK 或者Windows Driver Kit里面包含 所以需要下载微软的调试工具,最少需要下载 Windows SDK。在windows上开发,一般使用Qt Creator自带mingw编译器,编译和调试都很方便,安装Qt时勾选后,自动配置完毕。但是有时候我们需要使用MSVC的编译器,这个时候我们没法直接使用,需要配置环境才能使用,以下是配置方案。

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 6988

电脑玩安卓游戏竟如此简单,Python for Android 超强来袭

本文摘要:文章探讨了安卓模拟器在PC端的应用价值,介绍了Win10系统下构建容器连接模拟器进行移动端自动化测试的方法,并分享了Unity安卓开发环境搭建、图片缓存优化、函数编程优势等实用技术要点。同时涉及MySQL性能优化、Java类比较、MWS数据上传流程及算法题解等内容,为开发者提供多方面的技术参考。

2603_96171993的博客 42

Power EM与Signal EM解决办法与原理分析

1.面对power EM,首先检查missing via,补全via,还可以加宽,加密局部power mesh,一些power IO出pin有power EM问题,可以叠加多层线和垂直方向补power形成网络降低并联电阻和提供更多电流通路解决,这种方法还可以降低ir drop。3.先进工艺有一个via ladder的方法可以解决power/signal em问题,clock cell出pin绕线或者power rail连接power stripe通过搭梯子的方式连接,原理还是分流。

m0_61544122的博客 4746

安卓系统python编程怎样,python怎么在安卓上运行

大家好,小编来为大家解答以下问题,安卓系统python编程怎样,python怎么在安卓上运行,今天让我们一起来看看吧!大家好,小编来为大家解答以下问题,python3安卓版下载,python软件安卓版,现在让我们一起来看看吧!

jaskonyee的博客 934

在 NVIDIA DGX Spark 上运行 vLLM + Open WebUI

DGX Spark 和 GX10 都是性能强大的机器,但只有将它们视为交互式工作站而非精简版服务器,才能真正发挥它们的优势。合理利用共享资源,规划并发工作负载,并谨慎控制内存限制。做到这些,vLLM 与 Open WebUI 的结合就能成为可靠​​的日常工具,而不是脆弱的实验品。DGX平台本身价格不菲,但这并非体验此类硬件的唯一途径。多家厂商提供基于相同核心架构、价格更为亲民的系统,这些系统通常配备容量较小的固态硬盘或配置更为简化,但基本性能并未改变。

iCloudEnd的博客 1750

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

安卓平台运行python_如何让Python运行在Android上

让python运行在android上的方法:可以利用Scripting Layer for Android开源项目来实现。该项目可以让用户直接在android平台上进行脚本语言的编辑、解释和执行操作。1.下载和安装 Scripting Layer for Android (SL4A)Scripting Layer for Android (SL4A) 是一个开源项目,目标是为android系统提供...

weixin_39821605的博客 713

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python可以在安卓上运行吗,python可以在安卓运行吗

大家好,小编来为大家解答以下问题,python在安卓系统可以编程运行吗,python程序能在安卓手机上运行吗,现在让我们一起来看看吧!大家好,小编来为大家解答以下问题,python程序能不能在安卓手机上跑,python能在安卓手机上运行吗,现在让我们一起来看看吧!这篇文章主要介绍了python软件可以在手机上运行吗怎么操作,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

wenangou6 848

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python可以在安卓上运行吗,安卓平板python编程软件

大家好,小编来为大家解答以下问题,python程序能不能在安卓手机上跑,python能在安卓手机上运行吗,现在让我们一起来看看吧!这篇文章主要介绍了python软件可以在手机上运行吗怎么操作,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

zjl102562的博客 969
上一篇: python for android : 手机从PC接收文件
下一篇: python for android : 传感器
belldeep
博客等级 码龄20年 1820粉丝 584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值