![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓开发
Johnny-xz
这个作者很懒,什么都没留下…
展开
-
关于json字符串解析
public List> jsonToArray(String json) { List> list = new ArrayList>(); try { JSONObject jsonobj = new JSONObject(json); JSONArray ary = jsonobj.getJSONArray("result"); for (int i = 0原创 2014-04-15 16:12:53 · 1043 阅读 · 0 评论 -
Android OTA升级应用拷贝文件到/cache目录权限报错问题
当使用ROM升级时,不经意间经常会遇到将数据包拷贝到/cache目录读取的时候报错。主要原因如下图:是因为第一次安装应用时拷贝的时候,该文件的读取权限只能该应用读取。哪怕同一个应用再次安装也是不允许读取的。因为再次安装时,用户的设备ID会递增。所以同一应用再次安装也是不允许读取的。注:进行OTA升级时需要将升级应用打包程APK,并进行系统签名原创 2016-12-09 15:27:31 · 3835 阅读 · 0 评论 -
Activity设置成Dialog模式
开发过程中可能需要将Activity设置成Dialog模式,只需要在Manifest.xml配置: android:name=".DialogActivity" android:theme="@style/MyDialogStyleBottom" android:screenOrientation="landsca原创 2016-07-17 16:06:06 · 5994 阅读 · 0 评论 -
获取屏幕android屏幕信息
DisplayMetrics metrics=getResources().getDisplayMetrics();//获取屏幕密度int density=metrics.densityDpi;//获取屏幕宽度的物理像素格式int widthPix=metrics.widthPixels;//获取屏幕高度的物理像素格式int heightPix=metrics.height原创 2015-12-19 17:15:11 · 822 阅读 · 0 评论 -
Android在非UI线程中显示Toast
做个android开发的都知道,在子线程中是不允许进行UI更新。如果要进行更新必须在消息队列中public void showToast(String msg){ Looper.prepare(); Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); Looper.loop();转载 2015-03-07 13:13:46 · 529 阅读 · 0 评论 -
android中Invalidate方法
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。Andr原创 2015-01-10 13:03:33 · 6096 阅读 · 0 评论 -
是谁毁了我们的安卓应用?
做过android开发的程序员都知道,在开发一款android软件的时候往往要考虑到各种适配的情况。例如几个比较常见的就是屏幕的适配和系统版本的适配。从屏幕来看由以前的手机屏幕到现在的平板屏幕,从以前的低分辨率屏幕到现在的高分辨率屏幕,都在不断的变化。还有就是android的版本从最初的android 1.5(纸杯蛋糕)到现在的android5.0(棒棒糖),每到一个版本都有很大的变化原创 2015-01-11 15:51:55 · 933 阅读 · 0 评论 -
android 自定义权限
android 支持用户自定义权限, 例如: 如果希望阻止某些用户启动应用程序中的某个活动,可以自定义权限来实现,要使用自定义权限,首先在AndroidManifest.xml 文件中声明它们。在内容提供者中添加自定义权限需要在Manifest.xml文件中配置: android:authorities="org.crazyit.providers.dictprovi原创 2014-10-19 17:33:19 · 655 阅读 · 0 评论 -
android Context详解
Google官方解释:/** * Interface to global information about an application environment. This is * an abstract class whose implementation is provided by * the Android system. It * allows access原创 2014-10-19 17:30:24 · 440 阅读 · 0 评论 -
安卓窗体控制requestWindowFeature
Android 应用程序窗体显示状态操作(requestWindowFeature()的应用) requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性。参数是Window类中定义的常量。一、枚举常量1.DEFAULT_FEATURES:系统默认状态,一般不需要指定2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项原创 2014-09-12 15:51:53 · 418 阅读 · 0 评论 -
安卓LayoutParams用法
LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。 假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中, 最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。在JAVA中动态构建的布局,常常这样写:setLayoutParams(new LayoutPar原创 2014-09-12 15:50:14 · 1078 阅读 · 0 评论 -
SQLite之replace语句的行为
replace语句和update语句有相似的地方, 但是也有很多不同之处。1. replace语句会删除原有的一条记录, 并且插入一条新的记录来替换原记录。2. 一般用replace语句替换一条记录的所有列, 如果在replace语句中没有指定某列, 在replace之后这列的值被置空 。3. replace根据主键确定被替换的是哪一条记录4. replace语句不能根据where原创 2014-09-12 15:48:46 · 1899 阅读 · 0 评论 -
Android开发规范
一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lv原创 2014-09-12 15:26:51 · 429 阅读 · 0 评论 -
安卓软键盘控制详解
一 为文本输入指定键盘类型android:inputType="none"--输入普通字符android:inputType="text"--输入普通字符android:inputType="textCapCharacters"--输入普通字符android:inputType="textCapWords"--单词首字母大小android:inputType="textCapS原创 2014-09-12 15:16:50 · 803 阅读 · 0 评论 -
struts2生成xml文件流
struts2支持直接将文件流返回到前台的,所以理论上你有好几种方法来实现生成xml 说默认的吧,只要将type="stream",这样你就可以输出xml、csv等等 1.先生成数据流 package com.jzlg.interce.action;import java.io.ByteArrayInputStream;import java.io.InputStream;原创 2014-09-12 15:08:08 · 822 阅读 · 0 评论 -
android Pull解析(XML解析)
package com.example.domexml;import java.io.IOException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import org.xmlpull.v1.XmlPullParser;impor原创 2014-09-12 15:13:43 · 331 阅读 · 0 评论 -
struts2生成json流
action中方法配置:public void doAction() throws IOException{ HttpServletResponse response=ServletActionContext.getResponse(); //设置类型,可为xml和json。此处必须填写,否则无法正常返回 response.setContentType原创 2014-09-12 15:03:32 · 592 阅读 · 0 评论 -
android项目拆分为主项目和子项目注意事项
1、项目拆分后需要将jar包、os文件放入子项目中,否则会出现无法访问的现象2、项目拆分后子项目中Mainfest.xml文件则废弃,主要配置主项目中的Mainfest.xml文件。3、资源文件assets,全部放在主项目中4、动态变化添加的文件可以添加到主项目中5、项目拆分后子项目中的os文件不会跟主项目一起自动编译,需要单独编译下。否则不会自动生成os文件。6、打包时需要取消Project--...原创 2018-04-11 17:20:38 · 1011 阅读 · 0 评论