Android
风风风一样
我要用计算机毁灭全人类
展开
-
Android layout布局的优化
开发一款好的的app,性能当然比较重要,如果app运行不流畅,势必会影响用户的体验,造成用户的流失。今天我们来讲一讲Android开发中layout布局的优化。1、尽量使用LinearLayout和RelativiLayout,另外LinearLayout比RelativiLayout性能要更优一点。2、通过include标签来添加重复使用的布局可复用的布局content_main原创 2015-11-06 19:48:44 · 616 阅读 · 0 评论 -
Android多点触摸操作
Android中的多点触摸可以实现图片的放大、缩小和旋转等处理主要通过setOnTouchListener方法来监听用户的触摸事件,通过event.getX(0)和 event.getX(1)来获取第一个触控点和第二个触控点的x轴(或者y轴)坐标,接下来在MotionEvent.ACTION_DOWN、MotionEvent.ACTION_MOVE、MotionEvent.ACTION_U原创 2015-10-14 17:04:29 · 636 阅读 · 0 评论 -
android.content.res.Resources$NotFoundException: String resource ID #0x1
今天在做版本更新提示的时候报了这个错误android.content.res.Resources$NotFoundException: String resource ID #0x1;出现这个错误的原因是,我在设置textview的值的时候,packageInfo.versionCode得到的是一个int值,在setText的时候,如果传进去的是int值,int值代表资源文件中String的I原创 2015-11-21 17:40:37 · 793 阅读 · 0 评论 -
Edittext自定软键盘Enter键功能
现在需求是这样的,登录页有两个Edittext,一个是让用户输入用户名,另一个是让用户输入密码。在我们输入完用户名的时候,按软键盘的Enter键会直接跳到输入密码的Edittext,在我们输入完密码的时候,隐藏软键盘。解决方法:设置EditText的Ime Options属性。 软键盘,最常用的enter键事件有: 把EditText的Ime Options属性设置成不同的值,原创 2015-11-12 14:39:34 · 791 阅读 · 0 评论 -
eclipse编写的GBK项目转变成UTF-8编码
最近在将eclipse项目导入到Android studio中出现了乱码的问题,由于以前项目都是用GBK编写的,现在如果一个一个类去改的话太麻烦,在网上找了一个很实用的方法。 1、下载com.lifesting.tool.encoding_1.0.0.jar。 2、将插件com.lifesting.tool.encoding_1.0.0.jar拷贝到eclipse/plugins目原创 2015-10-31 09:47:28 · 9374 阅读 · 8 评论 -
Android版本更新提示
在我们开发的app中有一个版本更新的提示是非常重要的其实做版本更新很简单,分几步,按照这几步,一步一步来,化复杂为简单1、获取本地的版本号和版本名2、获取服务器端的版本号和版本名3、比较本地版本号和服务器的版本号,如果服务器上的版本号大于本地版本号,就进行下载4、下载服务器上的apk文件5、安装原创 2015-11-22 18:15:05 · 1101 阅读 · 0 评论 -
解析错误:解析软件包时出现问题
今天在做自动检测软件更新的时候,将服务器上apk下载下来后,调用Android安装代码进行安装,报了如下错误:解析错误:解析软件包时出现问题检查了一下代码,发现出现这个问题的原因是没有关闭输入输出流和关闭网络连接,在下载完后需要依次将这些打开的流关闭,就能解决问题了 bis.close(); bos.close(); connection.dis原创 2015-11-22 16:33:09 · 12651 阅读 · 1 评论 -
Android AdapterView setEmptyView
当我们使用ListView或GridView的时候,当列表为空的时候,我们往往需要一个Loading或者一段提示文字又或者一个特殊的View来提示用户操作,这个时候就用到了setEmptyView()方法。setEmptyView()其实是AdapterView的方法,而我们开发中常用到的ListView, GridView, ExpandableListView等都是继承于Adapter转载 2015-10-31 17:12:37 · 632 阅读 · 0 评论 -
Android资源文件R.string.hello_world与getResources().getString(id)
在我们的项目中,通常把要出现在项目中的中文存储到String资源文件下。通过R.string.hello_world来得到改中文,但这种方式返回的是一int型的ID,而对于有些方法必须是Stirng类型怎么办呢,比如myDialog = ProgressDialog.show(DictionaryActivity.this, "请稍后。。。","正在加载。。。", false);原创 2015-11-02 14:02:02 · 5821 阅读 · 0 评论 -
Android广播机制Broadcast详解
一、先介绍基本使用方法第一步:我们要继承BroadcastReceiver类,实现自己的BroadcastReceiver。private class DataRefreshRecieve extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent原创 2015-11-20 11:37:42 · 1012 阅读 · 0 评论 -
requestFeature() must be called before adding content
解决方法:将requestFeature()写在super.onCreate(savedInstanceState);前面原创 2015-09-24 10:16:30 · 499 阅读 · 0 评论 -
Android反编译已经混淆的app
第一步首先我们直接用一个解压apk(开发过android应该知道apk其实就是个压缩文件),解压之后拷贝出里面classes.dex文件待用。第二步下载dex2jar工具,最新版下载链接dex2jar下载解压之后,打开cmd,进入解压目录,运行命令:d2j-dex2jar.bat classes.dex(上一步解压的) jarpath(反编译dex后的文件目录)原创 2015-11-12 09:22:50 · 1169 阅读 · 0 评论 -
Error: Invalid resource directory name
出现这个问题是编写了系统不认同的资源文件,我出现的错误是把values-v21 写成了values-21,系统不认识。原创 2015-09-23 15:31:59 · 2171 阅读 · 1 评论 -
android的消息处理机制handle解析——Looper,Handler,Message
android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。下面一一介绍:线程的魔法师 LooperLooper的字面意思是“循环者”,它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程转载 2015-10-22 11:59:30 · 561 阅读 · 0 评论 -
Android多线程处理
线程概念: 多线程指的是在单个程序中可以同时运行多个不同的线程,执行不同的任务。多线程意味着一个程序的多行语句可以看上去几乎在同一时间内同时运行。 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制。但与进程不同的是,同类的多个线程共享一块内存空间和一组系统资源,所以系统在各个线程之间切换时,资源占用要比进程小得多,正因如此,线程也被称为轻量级进程。一个进原创 2015-10-22 14:34:15 · 451 阅读 · 0 评论 -
Android编程规范不完全指南
1. 命名规则1.1 类名,接口名:以大写开头,如果一个类的类名由多个单词组成,所有单词的首字母必须大写,单词尽量写全称,不要简写,除非约定俗成的名字,例如:URL,RTMP,RTSP 这些广泛使用的专有名词,可以全部大写,也可以首字母大写。例如:HttpRequest,CourseActivity1.2 局部变量,类的成员变量,类的成员函数,函数参数:以小转载 2015-11-10 10:21:56 · 594 阅读 · 0 评论 -
Could not open Selected VM debug port (8700). Make sure you do not have another instance of DDMS or
在运行项目的时候报如下错误:Could not open Selected VM debug port (8700). Make sure you do not have another instance of DDMS or of the eclipse plugin running. If it's being used by something else, choose a new po原创 2015-10-09 15:09:08 · 7100 阅读 · 0 评论 -
Android多屏幕适配方案
一:图片的适配:1、图片的自适配:1)明确哪些资源文件在不同分辨率的设备存在显示问题(图片上带文字-->底图和文字分开给(文字用textview),图片上带图标-->图标和底图分开给(2张图))。2)学会使用9-patch,一般提供hdpi大小的图片,并制作为9-patch格式,此时的拉伸在mdpi、ldpi上基本都不会带来问题。2、对不同密度的屏幕提供不同的图片,把图片资源放在新建的不同原创 2015-09-22 09:35:47 · 762 阅读 · 0 评论 -
Android开发常用工具类
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自【张鸿洋的博客】打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~在此感谢群里给我发项目中工具类的兄弟/姐妹~1、日志工具类L.java[java转载 2015-10-26 13:46:21 · 551 阅读 · 0 评论 -
eclipse关联源码
1、下载对应API源码或者压缩包(1)通过sdk manage下载:(2)或者通过网上其它链接下载2、关联右键项目-->Properties-->Java Build Path-->Libraries-->Android 4.4-->android.jar-->Source attachment-->Edit-->External Folder(注意)Externa原创 2015-10-26 10:53:30 · 374 阅读 · 0 评论 -
Android studio运行程序报错java.exe'' finished with non-zero exit value 2
Android studio在将从eclipse导入进来的项目运行时报如下错误:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_60\bin\java.exe''原创 2015-11-11 15:29:17 · 1084 阅读 · 0 评论 -
百度推送:Native library not found! Please copy libbdpush_V2_2.so into your project!
昨天在做百度推送的时候,继承好百度推送的sdk后,开始用的好好的,能收到推送消息,到了下午就收不到推送消息了。报如下错误:Native library not found! Please copy libbdpush_V2_2.so into your project!这个错误很明显是没有找到.so文件,可是我就纳闷,明明.so文件就在我的Libs下面,为嘛找不到。。。原创 2015-11-27 09:46:19 · 942 阅读 · 0 评论 -
EventBus使用教程
1、EventBus简介EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。2、使用流程1)、下载EventBus Jar包2)、自定义消息类public class MyEven原创 2016-03-02 16:14:30 · 684 阅读 · 0 评论 -
ava.lang.IllegalStateException The specified child already has a parent. You must call removeView()
在使用viewpage+fragment的时候报如下错误信息:ava.lang.IllegalStateException The specified child already has a parent. You must call removeView()。只需在onCreateView方法中返回inflater.inflate(R.layout.im_contacts_activ原创 2016-03-16 15:20:12 · 1222 阅读 · 0 评论 -
你需要知道的Android拍照适配方案
近段时间,家里陪自己度过大学四年的电脑坏了,挑选好的新电脑配件终于在本周全部到货,自己动手完成组装。从AMD到i7的CPU,6G内存到14G内存,打开 AndroidStudio 的速度终于杠杆的上去了,感动到泪流满面啊!!!!!!!扯了这么多,回归一下正题,还是来说说本篇文章要写什么吧!说起调用系统相机来拍照的功能,大家肯定不陌生,现在所有应用都具备这个功能。例如最基本的,用户拍照上传头像。An转载 2016-07-29 14:21:38 · 474 阅读 · 0 评论 -
listview失去焦点不能点击问题
在item的跟布局加上android:descendantFocusability="blocksDescendants"原创 2016-08-01 17:44:28 · 397 阅读 · 0 评论 -
android studio debug开发模式下使用正式版签名
在debug开发模式下,使用的debug key,而有些第三方是要使用正式签名的如百度地图、微信分享,我们在调试时候如何使用正式发布的key呢?只要是这两段代码:有两种方法:第一种是手动在app的build.gradle文件中android下添加,第二种是android studio自动设置(建议使用第二种)方法一:signingConfigs { config {原创 2016-08-19 11:50:51 · 646 阅读 · 0 评论 -
android仿微信、华为通讯录
功能:仿微信、华为通讯录、支持手机号码搜索、中文搜索、简拼搜索、全拼搜索,支持listview和右侧字母条联动说明:并非我一个写的,结合了网上两篇有用博客,地址忘了,然后结合自己项目的需求在上面进行了修改源码地址原创 2016-08-12 14:42:57 · 2787 阅读 · 4 评论 -
提高android studio 编译app速度
已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。开启gradle单独的守护进程在下面的目录下面创建gradle.properties文件:/home//.gradle/ (Linux)/转载 2016-08-25 17:20:04 · 679 阅读 · 0 评论 -
Android Studio出现Error:No service of type Factory available in ProjectScopeServices.
解决方案:在工程build.gradle下面添加plugins { id "com.github.dcendents.android-maven" version "1.5"}原创 2016-10-14 11:30:26 · 1027 阅读 · 0 评论 -
Android AsyncHttpClient https使用教程
今年夏天在WWDC2016开发者大会上,苹果宣布,必须在2017年1月1日之前实现所有的能够App安全地接入服务器,即“所有iOS应用将必须支持ATS(App Transport Security)安全标准”,从而提升应用和系统安全性。所以以后开发者应用应切换至HTTPS服务。虽然Android没这么要求,但一个公司接口不可能出两套,一套支持ios https 一套支持Android ht原创 2017-01-05 17:44:23 · 4966 阅读 · 6 评论 -
使用AsyncHttpClient下载图片出现org.apache.http.client.HttpResponseException: Content-Type not allowed!
使用AsyncHttpClient下载gif图片出现org.apache.http.client.HttpResponseException: Content-Type not allowed!错误原因:制定文件下载类型时,没有指定gif类型 解决方法:// 指定文件类型String[] allowedContentTypes = new String[]{"image/png"原创 2017-02-09 11:34:55 · 1320 阅读 · 0 评论 -
Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.tran
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.inter原创 2016-07-26 10:40:19 · 1709 阅读 · 0 评论 -
android scrollview中edittext 软键盘跳出遮住edittext
在setContentView(R.layout.activity_order_detail);前面加上getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);原创 2016-06-16 17:18:41 · 1956 阅读 · 0 评论 -
控制app字体大小不随手机字体大小影响
/**在你的BaseActivity中*//**从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非*/@Overridepublic Resources getResources() { Resources res = super.getResources(); Co原创 2016-06-30 09:38:33 · 1335 阅读 · 0 评论 -
Android获取本周本月本年的第一天和最后一天
获取本周的第一天和最后一天:SimpleDateFormat dateFormater = new SimpleDateFormat( "yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_WEEK, 1); cal.getTime(); start原创 2016-03-31 15:33:34 · 7573 阅读 · 0 评论 -
Android让dialog充满整个屏幕
在dialog.show();后面加上dialog.show(); WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); WindowManager.LayoutParams lp = dialog.getWindow(原创 2016-03-31 15:36:27 · 987 阅读 · 0 评论 -
Android N 最初预览版:开发者 API 和工具
英文原文:First Preview of Android N: Developer APIs & Tools转自:http://chinagdg.org/2016/03/first-preview-of-android-n-developer/作者:Dave Burke,Google 工程 VP 。翻译:Guokai Han 。我们今天很高兴地宣布 Android N 开转载 2016-03-10 10:52:33 · 438 阅读 · 0 评论 -
Android webview监听网页对话框点击事件
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli现在项目遇到这样一个问题,HTML5网页弹出一个Alert对话框,该文章已经被删除,Android这边需要监听用户点击确定按钮,然后返回前一个列表页面进行页面刷新删除被后台删除的的数据,具体做原创 2016-05-03 14:54:53 · 7556 阅读 · 0 评论 -
ImageView设置成手机内存卡图片
在设置ImageView资源的时候,这时的图片是来自SD卡,查看API很容易就会看到view.setImageUri(Uri u)这个函数。所以一般会这样写: ImageView view = (ImageView)findViewById(...); File file = new File(path); Uri uri = Uri.from(file); view.setI原创 2016-05-17 10:35:13 · 692 阅读 · 0 评论