简单了解下AsyncTask源码,作为以后复习时用。
从Android手机内提取已安装的apk文件
假如你在其他手机上看到一个应用,又不知道从哪去下载,而那个手机的安装包已经被删除掉,那怎样安装一个和那个手机上一模一样的应用呢?办法就是从那个手机中备份一份,然后传给你。也许你见过一些其他软件有备份apk的功能,也是这个原理。
关于Android中软键盘与布局的问题
当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入。
解决办法:
方法一、在Activity中的onCreate中setContentView之前写上如下代码
1 | getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) |
方法二、在项目的AndroidManifest.xml文件中界面对应android:windowSoftInputMode="stateVisible|adjustResize"
,这样会让屏幕整体上移。如果加上的是android:windowSoftInputMode="adjustPan"
这样键盘就会覆盖屏幕。
方法三、把顶级的layout替换为ScrollView, 或者在顶级的layout外再嵌套一层ScrollView。这样页面就可以一起滚动了,软键盘会一直处于底部。
注意: 方法一和二应该是同一种方法,只不过一个是在代码中实现一个是在xml中实现。
Android中通过反射获取资源ID
某些时候,自己把代码打包成工具jar包,但jar包中可能引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态获取
1 | /** |