Android开发精典案例60个

2023-11-17

【实例简介】

Android开发精典案例60个在这里插入图片描述
文件:url80.ctfile.com/f/25127180-740794786-4b13cf?p=551685 (访问密码: 551685)

【核心代码】

2-1(Activity生命周期)

3-1(Button与点击监听器)

3-10-1(列表之ArrayAdapter适配)

3-10-2(列表之SimpleAdapter适配)

3-11(Dialog对话框)

3-12-5(Activity跳转与操作)

3-12-6(横竖屏切换处理)

3-3(ImageButton图片按钮)

3-4(EditText文本编辑)

3-5(CheckBox与监听)

3-6(RadioButton与监听)

3-7(ProgressBar进度条)

3-8(SeekBar 拖动条)

3-9(Tab分页式菜单)

4-10(可视区域)

4-11-1(Animation动画)

4-11-2-1(动态位图)

4-11-2-2(帧动画)

4-11-2-3(剪切图动画)

4-13(操作游戏主角)

4-14-1(矩形碰撞)

4-14-2(圆形碰撞)

4-14-4(多矩形碰撞)

4-14-5(Region碰撞检测)

4-15-1(MediaPlayer音乐)

4-15-2(SoundPool音效)

4-16-1(游戏保存之SharedPreference)

4-16-2(游戏保存之Stream)

4-3(View游戏框架)

4-4(SurfaceView游戏框架)

4-7-1(贝塞尔曲线)

4-7-2(Canvas画布)

4-8(Paint画笔)

4-9(Bitmap位图渲染与操作)

5-1(飞行射击游戏实战)

6-1(360°平滑游戏摇杆)

6-10-1(Socket协议)

6-10-2(Http协议)

6-11(本地化与国际化)

6-2(多触点缩放位图)

6-3(触屏手势识别)

6-4(加速度传感器)

6-5(9patch工具)]

6-6(截屏)

6-8(游戏视图与系统组件)

6-9(蓝牙对战游戏)

7-10-1(遍历Body)

7-10-2(Body的m_userData)

7-11(为Body施加力)

7-12(Body碰撞监听)

7-13-1(距离关节)

7-13-2(旋转关节)

7-13-3(齿轮关节)

7-13-4(滑轮关节)

7-13-5-1(通过移动关节移动Body)

7-13-5-2(通过移动关节绑定两个Body动作)

7-13-6(鼠标关节-拖拽Body)

7-14(AABB获取Body)

7-4(Box2d物理世界)

7-5在物理世界中添加矩形)

7-7(添加自定义多边形)

7-9(在物理世界中添加圆形)

8-1(迷宫小球)

8-2(堆房子)


背景:使用python脚本传递参数在实际工作过程中还是比较常用,以下提供了好几种的实现方式:

一、使用sys.argv的数组传入
说明:使用sys.argv必须按照先后的顺序传入对应的参数;sys.argv则封装了传入的参数数据,作为数组的方式已经传入

复制代码
import sys

print(“传入参数的总长度为:”, len(sys.argv))
print(“type:”, type(sys.argv))
print(“function name:”, sys.argv[0])
try:
print(“第一个传入的参数为:”, sys.argv[1])
print(“第二个传入的参数为:”, sys.argv[2])
except Exception as e:
print(“Input Error:”, e)
复制代码
通过命令行查看运行结果:

二、使用argparse包传入

说明:parser.add_argument 方法的type参数理论上可以是任何合法的类型,而且传入的顺序并没有要求

参数使用的说明:

复制代码
–xx 完整参数输入
-x 简写参数输入
type 输入的参数将要被转换的数据类型
default 默认值
help 参数介绍
nargs 可传入的参数数量
required 是否为必须参数
复制代码
复制代码
import argparse
parser = argparse.ArgumentParser(description=‘argparse testing’)
parser.add_argument(‘–name’,‘-n’,type=str, default = “bk”,required=True,help=“a programmer’s name”)
parser.add_argument(‘–age’,‘-a’,type=int, default=35,help=‘age of the programmer’)
parser.add_argument(‘–sex’,‘-s’,type=str, default=‘male’)
parser.add_argument(‘–favorite’,‘-f’,type=str, nargs=“+”,required=False,help=“favorite of the programmer”)

args = parser.parse_args()
print(args.name)
print(args.age)
print(args.sex)
print(args.favorite)
复制代码
查看运行结果:

1.使用完整参数输入

2.使用简写参数输入

3.多参数的传入

三、使用shell脚本的方式向python脚本传递参数

1.使用shell脚本向python脚本传递参数

python脚本依然使用sys.argv的数组的方式传入参数

原python如下:(python_test.py)

复制代码
import sys

print(“传入参数的总长度为:”, len(sys.argv))
print(“type:”, type(sys.argv))
print(“function name:”, sys.argv[0])
try:
print(“第一个传入的参数为:”, sys.argv[1])
print(“第二个传入的参数为:”, sys.argv[2])
except Exception as e:
print(“Input Error:”, e)
复制代码
增加shell脚本如下:(shell_test.sh)

复制代码
#!/bin/bash
#定义变量
para1=$1
para2=$2
python python_test.py $para1 $para2

复制代码
查看运行结果:

2.使用shell脚本向python脚本内的方法传递参数

python脚本如下:(python_test.py)

复制代码
def fun1():
return “无参数方法fun1”

def fun2(x):
return f"有参数方法fun2且传入的参数为{x}"
复制代码
shell脚本如下:(shell_test.sh)

(1)无参数方式调用:

#!/bin/bash
#定义变量
python -c ‘import python_test;print(python_test.fun1())’
查看运行结果:

(2)有参数方式调用

复制代码
#!/bin/bash
#定义变量
para= 1 p y t h o n − c " i m p o r t p y t h o n t e s t ; p r i n t ( p y t h o n t e s t . f u n 2 ( ′ 1 python -c "import python_test;print(python_test.fun2(' 1pythonc"importpythontest;print(pythontest.fun2({para}'))"

复制代码
查看运行结果:

(3)一次调用所有方法,放入一个集合中,再调用切割方法获取相应的值

复制代码
#!/bin/bash
#定义变量
para=KaTeX parse error: Expected 'EOF', got '#' at position 3: 1 #̲将结果保存为一个变量ALL_R…(python -c "import python_test;print(python_test.fun1(),python_test.fun2('KaTeX parse error: Expected 'EOF', got '#' at position 13: {para}'))") #̲分别打印第一个方法的返回与第二…(echo KaTeX parse error: Double superscript at position 23: …ULTS | cut -d' '̲ -f1) RESULTS_f…(echo KaTeX parse error: Double superscript at position 23: …ULTS | cut -d' '̲ -f2) echo fun1…RESULTS_fun1
echo fun2方法的返回结果为:$RESULTS_fun2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开发精典案例60个 的相关文章

  • Android 中用虚拟键盘捕捉按键按下的情况?

    使用物理键盘 您可以使用按键监听器 http developer android com reference android text method KeyListener html 就像是 myEditText setOnKeyListe
  • 与其他图标相比,AppCompat ShareActionProvider 图标太大

    我将 ActionBarSherlock 更改为 AppCompat v7 我已经完成了使其工作所需的所有更改 但是共享图标 使用 ShareActionProvider 发生了一些奇怪的情况 与其他图标相比 共享图标太大 我还使用支持库进
  • 将正确的上下文传递给 greendao 的 OpenHelper 构造函数

    如果我理解正确的话 在使用数据库时 我必须执行以下操作 DaoMaster OpenHelper helper new DaoMaster OpenHelper this test db null Override public void
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • Android 应用被 Google Play 拒绝

    我最近向 Google Play 商店提交了一个 Android 应用程序 但收到一条消息说我的应用程序已被拒绝 我不确定问题是什么 也找不到确切的解决方案 拒绝原因 违反了禁止行为条款 内容政策 经过定期审核后 我们确定您的应用程序支持
  • Youtube 退出全屏模式 TextView 可见性问题

    我正在全屏模式下播放视频 当我单击后退按钮时 我可以退出全屏模式 但无法显示我在全屏情况下隐藏的 TextView 要在全屏模式下隐藏 textView 我使用以下代码 Override public void onInitializati
  • 以编程方式更新 Android 中的联系人姓名和电话号码

    我创建一个应用程序来读取 更新 删除联系人详细信息 这是更新联系人姓名和电话号码的问题 有人可以帮助我吗 我该怎么做 我正在使用以下代码 但它不起作用 Override public View onCreateView LayoutInfl
  • 如何强制从本机代码打开 Android 软键盘?

    我有一个游戏 当用户触摸屏幕时 它使用从 C 到 Java 的回调来强制打开软键盘 Java代码很简单是这样的 this inputMethodManager toggleSoftInput InputMethodManager SHOW
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • 如何以编程方式启动 ssh 服务器 android,以及如何获取连接到设备的用户名和密码

    我正在开发像这样的应用程序sshdroid 我想在 Android 操作系统上打开 ssh 连接 并且我想从电脑连接应用程序 我使用了 JSCH lib 但是这个lib用于将android连接到pc 我的要求是pc到android 任何人都
  • Android Studio IDE 上的“文本/设计”选项卡缺少新的 Android 项目

    如何在创建新项目期间自动创建的 Activity main xml 文件的 src main res layout 文件夹中启用文本 设计选项卡 如果我右键单击并在所述文件夹上创建 xml 文件 则设计 文本选项卡存在 有什么建议吗 谢谢
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议

随机推荐

  • 关于scroll和mousewheel事件的问题

    需要注意的点 火狐的鼠标滚轮事件是DOMMouseScroll 事件参数兼容 e window event e 下面省略 preventDefault 函数取消的是默认事件 不会把我们自己添加的事件处理删除 实验开始 在下面验证例子的基础上
  • Android仿网页分页效果

    比较简单的一个方法 使用gridview来做的效果 1 在adapter中的getCount中判断list size是否你需要显示的长度 小于使用list size大于使用你需要的长度 我这里的长度为10 所以判断的为10 2 在adapt
  • 深度学习的核心理念

    深度学习的方法 核心是拟合 拟合的意思 是指在一个被定义的度量空间里 用一个函数 比较准确地表示一堆现有的空间数据 让拟合后误差尽量变小 贴合的越近越好 为何又说深度学习是统计呢 这个观点 跟拟合是同一个意思的不同表述 一理各表 在一个 给
  • GIoU详解

    Generalized Intersection over Union A Metric and A Loss for Bounding Box Regression 一 动机 在目标检测任务中 回归loss相同的情况下 IoU却可能大不相
  • LeetCode第125题解析

    给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 示例 2 输入 race
  • 梦想世界3手游服务器维护,2021年4月1日官方维护公告

    2021年4月1日官方维护公告 发布时间 2021 04 01 新增内容 1 主角换新 新增主角新模型资源 维护前已有角色玩家可在 奖励 主角换新 界面进行转换操作 可选择保留现有模型 维护后新创建的角色将默认使用主角新模型 2 仙兽转换功
  • excel导出内存溢出_轻松解决PHPExcel导出10W行超时和内存溢出问题

    专题1 PHPExcel的疑难杂症各个击破 本文使用了一个轻量级的PHP的Excel操作库 PHP XLSXWriter 一 解决行的问题 10w行excel数据导出仅需要5 26秒 再也不用担心excel导出超过1w行就超时 php in
  • 情感分析研究的新视野

    点击上方 AI公园 关注公众号 选择加 星标 或 置顶 作者 Caroline Brun 编译 ronghuaiyang 导读 对情感分析研究领域做了非常好的总结和展望 假新闻 受欢迎程度 健康状况 金融和社会风险 情感分析正在帮助理解这一
  • 入门级动态规划五步法(斐波那契数)

    1 确定dp数组 dp table 以及下标的含义 2 确定递推公式 3 dp数组如何初始化 4 确定遍历顺序 5 举例推导dp数组 class Solution def fib self n int gt int if n 0 retur
  • 记一次 Centos7 cmake 版本升级(由 v2.8.12.2 升级至 v3.14.5)

    一 基本信息说明 官网 https cmake org 下载地址 https cmake org files 二 系统 工具 1 系统版本 Centos7 5 CentOS 7 x86 64 Minimal 1804 2 工具 xshell
  • synchronized 怎么使用

    文章目录 前言 通过一系列的例子 了解synchronized 使用 总结 前言 上一篇了解了synchronized 但是呢光懂理论没用 关键是要会用 用demo的形式写一下各种使用场景 这么一来 就会对synchronized的使用更加
  • 遗传算法训练人工神经网络 MATLAB实现

    参考 遗传算法优化BP神经网络 写在前面 为了完成建模课的作业 找了很久才找到可以使用的一个源码和这个很好的博客 在此记录一下 这是一个利用遗传算法实现BP人工神经网络的matlab代码 可用于实现2层 隐藏层数 1 不计输入层 则共2层
  • 用jsp实现登录,登录成功则跳转到登录成功页面,失败则跳转到失败页面

    login jsp
  • 码云实战(二)——新增仓库和删除仓库

    文章目录 前言 一 创建仓库 1 新增仓库 2 填写仓库的相关信息 3 创建效果 二 删除仓库 总结 前言 本系列文章主要记录日常使用中碰到的码云的相关问题 一 创建仓库 1 新增仓库 在gitee网站右上角的 点击 新建仓库 2 填写仓库
  • Python深度学习篇一《什么是深度学习》

    在过去的几年里 人工智能 AI 一直是媒体大肆炒作的热点话题 机器学习 深度学习 和人工智能都出现在不计其数的文章中 而这些文章通常都发表于非技术出版物 我们的未来被描绘成拥有智能聊天机器人 自动驾驶汽车和虚拟助手 这一未来有时被渲染成可怕
  • Linux怎么使用U盘

    方案一 Linux不像Windows一样 接上新硬件后可以自动识别 在Linux下无法自动识别新硬件的 需要手动去识别 USB移动存储设备通常被识别为sda1 具体可以通过fdisk l命令查询 在使用U盘前 我们先要为外挂点新建一个子目录
  • 《动手学深度学习 Pytorch版》 6.5 汇聚层

    import torch from torch import nn from d2l import torch as d2l 6 5 1 最大汇聚和平均汇聚 汇聚层和卷积层类似 区别在于汇聚层不带包含参数 汇聚操作是确定性的 通常计算汇聚窗
  • [Unity踩坑记录] 从屏幕坐标系转换到世界坐标系

    问题描述 调试需要 想从摄像机发出一条射向鼠标指向位置的射线 于是写了如下代码 void Update Vector3 mouseScreenPos Input mousePosition Vector3 mouseWorldPos Cam
  • JS力扣刷题26. 删除有序数组中的重复项

    var removeDuplicates function nums len表示nums修改后得长度 let len nums length for let i 0 i lt len 1 i if nums i nums i 1 for l
  • Android开发精典案例60个

    实例简介 Android开发精典案例60个 文件 url80 ctfile com f 25127180 740794786 4b13cf p 551685 访问密码 551685 核心代码 2 1 Activity生命周期 3 1 But