Android
Litwak
- 为 未 来 实 现 你 想 要 的 改 变 -
展开
-
主线程阻塞、消息队列机制和图片下载
结合例子,讲解了主线程阻塞、消息队列机制和图片下载,相关知识原创 2016-07-22 12:05:14 · 9162 阅读 · 0 评论 -
ListView的item中有button ImageButton CheckBox EditText等时 点击事件失效问题的解决
在item的布局文件中加入:android:descendantFocusability="blocksDescendants" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_原创 2016-08-11 17:37:17 · 1349 阅读 · 0 评论 -
Android模块化编程——炫酷小巧多功能Button
前段时间客户需求,要加几个按钮,包括清理缓存,关于,设置,定位等。可是界面已经做好了,再重新布局界面,很麻烦。所以做了这么个小Button。在此分享,供大家学习。下面是几张截图,动画效果没工具保存,是依次展开的。文末附有源码下载链接。原创 2016-07-08 09:30:17 · 1827 阅读 · 2 评论 -
Android模块化编程——炫酷小巧多功能Button2
抱歉,之前这网络错误,发了两篇相同的文章,这次补上。 上文《炫酷小巧多功能button》今天附上另一种实现方法,是使用xml实现,布局方式不同。效果类似。原创 2016-07-08 10:17:19 · 4963 阅读 · 2 评论 -
Android图片上传(看了别人的博客,图片无法上传,文章解决办法)
先讲一下在网上看到的方法。拍照可以正常上传,打开相册上传却部分机型不行,比如ZUK2,系统是6.0.1。还有很多机型有问题。原因应该是第三方修改底层造成。 功能实现只有两个类和一个只含有WebView的布局文件。FileUtils.javapackage com.fuiou.webviewupload;import java.io.BufferedOutput原创 2016-07-11 10:26:55 · 8891 阅读 · 15 评论 -
Android回调——Android模块化编程
在MainActivity中,启动新Activity时调的不是StartActivity()方法,而是startActivityForResult Intent intent = new Intent(); intent.setClass(MainActivity.this, OtherActivity.class); intent.setFlags(Intent.FLAG_AC原创 2016-07-07 11:32:26 · 566 阅读 · 0 评论 -
判断是否是第一次启动——Android模块化编程
// 判断是否是第一次启动// 如果没有,在onCreate方法中,SharedPreferences会新建一个数据aboutFirst,并新建一个boolean类型变量isFirst值设true。 // 如果有(非首次启动),isFirst已经设成false了,所以执行else SharedPrefer原创 2016-07-07 10:24:12 · 375 阅读 · 0 评论 -
Android程序实现自动更新——Android模块化编程
当初做app更新时,网上找了很多方法,看了很多博客,都没有解决问题。别人的博文,大体只有两种内容。一种是把version.xml放到项目src目录下, 如下方法,获得字符流,然后解析成包含version,name,url的HashMap。然后mHashMap.get("version")获得版本比较更新 。InputStream inStream = ParseXmlService.cl原创 2016-07-07 10:07:20 · 595 阅读 · 0 评论 -
Android模块化编程——WebView使用之与JavaScript交互
WebView调用JS:可以这样:mWebView.loadUrl("javascript:backClick()");//获得手机的IMSI码(这是统计安装次数时写的,首次安装,发送IMSI码,详情请找我的其他博文)TelephonyManager mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_S原创 2016-07-07 09:18:59 · 764 阅读 · 1 评论 -
Android模块化编程——WebView使用之清理缓存
清理缓存: 在WebView使用中可能会遇到一个问题,那就是加载了很多页面,退不出去了,你需要一直按返回键很多次。体验非常差。这是你除了按照上篇博客,在特定网页捕获返回键。还可以清理缓存。 // 清理缓存 private void clearHistory() { mWebView.postDelayed(new Runnable() { @Override p原创 2016-07-07 09:17:09 · 719 阅读 · 0 评论 -
Android模块化编程——WebView使用之系统返回键设置
捕获返回键,重写方法: public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent) { if (paramInt == 82)//启动相机,下面是做的扫码,返回产品搜索页。这个会在其他文章中说明。 CaptureActivity.startWithCallBack(this, new CaptureActivity原创 2016-07-07 09:14:44 · 6951 阅读 · 0 评论 -
Android选择对话框
Android对话框使用率很高,今天我们就详细看看她是怎么使用的原创 2016-07-14 17:56:26 · 1331 阅读 · 0 评论 -
页面跳转和数据传递
创建第二个Activity需要在清单文件中为其配置一个activity标签标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCH原创 2016-08-11 13:53:44 · 6820 阅读 · 0 评论 -
eglcodeccommon ERROR unknown type 0x73000f
使用genymotion在webView页面时报错:E/eglCodecCommon: **** ERROR unknown type 0x73000f (glSizeof,80)。原因:选择用"host GPU"启动模拟器就会出现这个问题,不是代码的问题。解决:如果想过滤掉这些错误提示,自定义一个Logcat Filter,在by Log Tag项中填写 ^(?!eglCodecCo原创 2016-08-31 17:06:04 · 10220 阅读 · 0 评论 -
Android数据存储
数据存储在Android开发中是很重要的,因为做一个项目一定会用到数据存储,比如游戏或者应用的一些设置配置,游戏存档,应用使用习惯等。这篇主要写本地文件的存储,下篇会介绍数据库相关内容。 这里首先讲Android的存储结构,存储空间 android设备有两个存储空间:内部存储空间RAM内存:运行内存,相当于电脑的内存 ROM内存:存储内存,相当于电脑的硬盘外部存储空间SD卡:相当于电脑的移动硬原创 2016-07-12 13:32:07 · 6973 阅读 · 0 评论 -
Java线程相关
一段时间后执行。 new Handler().postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub UpdateManager manager = new UpdateManager(MainActivity.this,getVe原创 2016-07-07 11:10:45 · 369 阅读 · 0 评论 -
Android内存优化
1、平时在访问一个属性的时候效率远比访问一个固定变量低。假设xxx.GetLength()方法的值一般大于5.比如 for(int i=0;i这里的xxx.GetLength()在每次循环的时候都执行,影响效率,游戏开发的时候尤其明显。改进的方法应该为int j = xxx.GetLength();for(int i=0; i2、对于字符原创 2016-04-20 10:01:10 · 399 阅读 · 1 评论 -
Android单元测试框架
对于一款软件来说测试也是很重要的,如果没有测试,用户在使用过程中出现死机崩溃,一般会立即删掉软件。这还是小事,有的bug会造成重大安全事故。测试按岗位划分黑盒测试 测试逻辑业务(不懂代码,代码逻辑是否正常)白盒测试 测试逻辑方法(懂代码,写脚本代码,比如写for循环,运行你的代码1000次,看是否崩溃,工资高)根据测试粒度方法测试:function test(测试某个方法)单元测试:u原创 2016-07-13 10:38:35 · 658 阅读 · 0 评论 -
SQLite数据库的使用
SQLite数据库轻量级关系型数据库创建数据库需要使用的api:SQLiteOpenHelper(抽象类,sqlite打开帮助器) * 创建MyOperHelper类,继承自SQLiteOperHelper必须定义一个构造方法://arg1:数据库文件的名字//arg2:游标工厂(传null,使用默认)//arg3:数据库版本(比如刚开始三个字段,然后需要四个版本号,这里给高。这一原创 2016-07-13 14:06:21 · 7688 阅读 · 0 评论 -
Webview处理网页中400、404、500等错误
做webView开发的时候,如果这里url写错了,或者链接不存在,或者网页有问题等等。该如何返回一个友好的界面?public class WebViewActivity extends Activity { private WebView webView; public void onCreate(Bundle savedInstanceState) { s原创 2016-07-13 16:54:37 · 2445 阅读 · 1 评论 -
pull解析xml,可实现新闻解析、Android更新等
首先新建一个版本信息类 Versionpackage com.liwei.blog;public class Version { private String version; private String name; private String url; public String getVersion() { return version; } public void原创 2016-07-25 13:02:53 · 361 阅读 · 0 评论 -
ListView优化
Android ListView优化原创 2016-07-20 10:40:10 · 589 阅读 · 0 评论 -
android广播和服务
广播广播的概念 现实:电台通过发送广播发布消息,买个收音机,就能收听Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件。 Android系统在运行的过程中,会产生很多事件,比如开机、电量改变、收发短信、拨打电话、屏幕解锁IP拨号器 原理:接收拨打电话的广播,修改广播内携带的电话号码 * 定义广播接收者接收打电话广播publ原创 2016-08-17 15:50:32 · 568 阅读 · 0 评论 -
Android多媒体开发
多媒体概念文字、图片、音频、视频计算机图片大小的计算 图片大小 = 图片的总像素 * 每个像素占用的大小单色图:每个像素占用1/8个字节16色图:每个像素占用1/2个字节256色图:每个像素占用1个字节24位图:每个像素占用3个字节加载大图片到内存 Android系统以ARGB表示每个像素,所以每个像素占用4个字节,很容易内存溢出对图片进行缩放获取屏幕宽高Display dp原创 2016-08-17 16:52:50 · 7223 阅读 · 0 评论 -
Android内容提供者
内容提供者应用的数据库是不允许其他应用访问的内容提供者的作用就是让别的应用访问到你的数据库自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代码,举例增方法@Overridepublic Uri insert(Uri uri, ContentValues values) { db.insert("person", null, valu原创 2016-08-18 16:18:24 · 386 阅读 · 0 评论 -
自定义alertDialog
Android自带的alertDialog其实也很强大,可以实现很多功能。本文介绍的alertDialog是继承自Dialog,做了一些样式的修改。代码中我把Icon在布局中写死了。当然你也可以改改,实现图标自定义。CustomDialog.javapackage com.changyi.xyl.dialog;import com.changyi.xyl.R;import andr原创 2016-07-28 15:51:09 · 561 阅读 · 0 评论