
Android
文章平均质量分 67
璐璐丫头
这个作者很懒,什么都没留下…
展开
-
解读apk分包-32位安装包、32位64位兼容包和64位安装包
确保应用包含64位库即可,如包含不做修改,如未包含,需添加64位库即可。应用不一定要支持所有 64 位架构,但对于支持的每种原生 32 位架构,应用都必须包含相应的 64 位架构。原创 2022-11-01 12:08:46 · 27751 阅读 · 1 评论 -
ListView列表项View复用--ViewHolder模式
名词介绍ListView我们称之为列表,ListView中显示的每列,我们称之为列表项。内容:本文讲列表项View复用,那么何时会复用列表项View?当列表存在滚动时,即所有列表项不能被全部看到,就会复用View。本文以ListView使用时重写BaseAdapter的适配器为例,讲解列表项View复用中的ViewHolder模式实现的控件对象复用。在重写BaseAdapter时,通过重写getView方法实现自定义列表项View和列表项View复用,每个列表项的每次展示都需要调用getView原创 2021-04-17 22:38:01 · 1176 阅读 · 0 评论 -
android wifi连接可接收数据, gprs不能
android获取网络上的文件的时候,在WiFi环境下可以获得,GPRS网络不行。原因:访问的时候要使用静态ip,不能动态ip。例子: 华为网盘直链云加速里面存储的文件,下载的时候ip是动态分配的,GPRS网络环境下不能获取数据。扩展:1. 为什么GPRS网络下,获取数据的时候不能是动态ip,也就是说必须是公网ip才行?http://www.wzsky.net/html/Cis原创 2014-11-13 11:53:48 · 1917 阅读 · 0 评论 -
内存泄露
错误提示:java.lang.Throwable: Explicit termination method 'release' not called。翻译为:明确的终止方法不叫“释放”原因:内存泄露。尝试解决办法:1. 跟一下内存使用情况2. 监控你定义的全局变量大小。原创 2014-11-12 15:56:41 · 1035 阅读 · 0 评论 -
自动更新 -- 版本号比较(2)
版本号比较在实现自动更新的时候,需要进行版本号的比较。例如: 1.0.6 和1.0.7比较大小解决方案:将版本号的字符串转换成整数来比较。步骤:1. 去除字符串中的小数点。(使用正则表达式)2. 比较两个字符串的长度,长度短的后尾补0,直到两个字符串长度相同。(为了实现 1.0.5.1与1.0.6的比较)。3. 将两个字符串转换成整数比较。代码如下:// 正原创 2014-11-12 11:46:50 · 1592 阅读 · 0 评论 -
自动更新--解析xml文件(1)
1. 解析xml文档1.1 根据字符串类型的文件名字解析xml文件/** 解析xml文件* xml文件实例如下: ddviplinux m 30 李路 女 20 * */public void parseXml(String fileName) { try { DocumentBuilderFactory d原创 2014-11-11 17:23:42 · 1505 阅读 · 0 评论 -
调用相机拍照和图册中的图片并且对图片进行裁剪
在写Android应用的时候,很多时候需要调用自带的相机拍照或者直接从图库中选取图片并且对图片进行裁剪。下面就讲述如何实现。1. 调用相机 (1) 使用Intent调用相机,但是在启动Intent之前要设置一个文件路径,用来存储相机照下来的照片。 (2)然后使用startActivityForResult启动Intent。 (3)然后在protected void原创 2014-09-28 13:36:21 · 1514 阅读 · 0 评论 -
windows下如何下载android源码
在网上找了好久都没有找到如何批量下载,只是找到有位通过角本执行来进行下载的。试了一下在我机器上运行有问题,所以索性自己搞了一个出来。首先根据官方的说法要下载git,这个无论如何是要下载的。点击安装,安装完成后,在盘符上建立文件夹,我建在E:\android src下右键选择Git bash弹出如下界面下面就是整理下载的过程了,如果只需要下载其中的一个包,那么就不转载 2014-02-24 16:12:23 · 886 阅读 · 0 评论 -
在sd卡中创建文件夹和文件
本文以在sd卡中创建文件和文件夹为例,讲述如何创建文件夹和文件的重点。1. 路径问题(下面的例子是在Java中测试的,在Android中同样适用)1.1 如果需要在文件夹中创建文件的文件夹存在,直接创建文件即可。例如:File file = new File("F:/1.png");1.2 如果需要在文件夹中创建文件的文件夹不存在,需要首先创建文件夹。例如: File file原创 2014-09-17 13:50:06 · 4857 阅读 · 1 评论 -
使用Handler在子线程中更新UI
Android规定只能在主线程中更新UI,如果在子线程中更新UI 的话会提示如下错误:Only the original thread that created a view hierachy can touch its view((只有原来的线程创建一个视图层次可以触摸它的视图)。 只能在主线程中更新UI的原因是:android中相关的view和控件不是线程安全的,我们必须单独做处原创 2014-09-17 13:10:50 · 2873 阅读 · 1 评论 -
Android活动间调用并且返回后的数据
Android活动之间相互跳转并且返回数据的时候,需要使用Activity的startActivityForResult()方法。下面将有一个例子来详细讲述startActivityForResult()方法和一些注意事项。例子:1. activity_first.xml 2. FirstActivity 3. activity_second.xml 4. Seco原创 2014-08-27 18:28:32 · 1007 阅读 · 0 评论 -
Android 利用addView 动态给Activity添加View组件
本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法。1. addView方法简介在Android 中,可以利用排版View的 addView 函数,将动态产生的View 物件加入到排版View 中。例子如下:界面代码: <LinearLayout android:id="@+id原创 2014-09-22 12:53:49 · 29249 阅读 · 0 评论 -
Java实现泛型委托类似C#Action<T>
一、C# Action 泛型委托(帮助理解委托)描述:封装一个方法,该方法只采用一个参数并且不返回值.语法:public delegate void Action(T arg);T:参数类型:此委托封装的方法的参数类型arg:参数:此委托封装的方法的参数备注:通过此委托,可以将方法当做参数进行传递.Action 泛型委托:封装一个方法,该方法只采用一个参数并原创 2014-08-26 13:03:41 · 6131 阅读 · 0 评论 -
主程序等待对话框响应后再顺序执行问题
在项目开发中,经常会用到对话框,Android的对话框都是异步进行的,但是有时候需要实现主程序等待对话框响应后再继续执行。下面以使用AlterDialog对话框返回true或者false之后,主程序再继续运行为例讲述如何实现主程序等待对话框响应后再顺序执行的方法。思考一: 首先考虑到声明一个final 关键字的布尔型的局部变量,然后在对话框的“确认”和“取消”按钮的点击事件中对布原创 2014-09-19 13:17:27 · 3432 阅读 · 0 评论 -
自动更新--下载apk以及提示对话框的实现(3)
下载apk以及提示对话框的实现一、步骤:1. 确定有可以更新的版本,对话框提醒用户是否进行更新。2. 选择更新的话,显示下载对话框并且进行下载,否则关闭提示更新对话框。3. Apk下载完成后,安装apk。二、具体细节:1. 提示用户更新的时候,实现必须更新的方法如下:显示的对话框只显示更新按钮,也就是只能选择更新。2. 下载的时候,下载对话框的页面显示一个进度条来显示下原创 2014-11-12 15:47:36 · 2591 阅读 · 0 评论 -
Android向EasyN摄像头发送http get请求获取媒体数据响应包
一.描述Android实现获取网络摄像头的视频流并且播放,以便实现手机实时监控。网络摄像头:EsayN(普顺达)。网络:内网。外网应该也也一样,没有测试。协议文档:ip Camera视音频访问协议。此文档主要是实现协议文档中发送 http get请求到网络摄像头,获取媒体数据响应包。代码中摄像头的IP和端口分别是192.168.10.253 81。二.发送http g原创 2015-03-26 14:04:45 · 3373 阅读 · 0 评论 -
Android TextView省略号代替多出数据
1、效果图 2、xml实现 android:maxLines=”1” android:ellipsize=”end”<TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content原创 2017-09-29 19:39:58 · 2120 阅读 · 0 评论 -
Android控件之WebView(基础知识)
1. 常用设置 1.1 打开网页时不调用系统浏览器,而是在WebView中显示。 WebView如果不设置setWebViewClient(),网页在系统系统浏览器中打开,如果设置则在WebView中显示,同时还可以自定义WebViewClient。mWebView.setWebViewClient(new WebViewClient(){ @Override publi原创 2015-10-09 18:52:10 · 682 阅读 · 0 评论 -
Android控件之WebView(网页调转回APP)
问题来源:网页跳转回应用 APP打开网页,网页放置在服务器中(例如,APP打开百度网页),打开网页之后在某一时刻需要从网页在跳转回到APP。 实现原理:使用URI再加上Intent来实现。 URI介绍: 就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下: scheme://hos原创 2015-10-09 19:04:41 · 3621 阅读 · 0 评论 -
android下访问已存在的sqlite数据库文件的办法
android下访问已存在的sqlite数据库文件的办法原创 2015-09-17 11:44:33 · 6687 阅读 · 0 评论 -
ADT集成环境+PhoneGap 2.9.0搭建HTML5 开发APP环境
一.环境搭建1. 搭建开发Android环境,此处不再讲述,可以使用ADT集成环境,也可以使用Eclipse + Android SDK + ADT Plugin。ADT集成环境下载地址:http://developer.android.com/sdk/index.html2. 配置PhoneGapPhoneGap下载地址:http://phonegap.c原创 2015-05-28 11:35:08 · 1232 阅读 · 0 评论 -
Android断点调试Service
问题:以调试 模式启动Android 项目时,在service 中设置断点,调试器不会停止下来。解决办法:1. Androidmanifest.xml配置文件,将service 配置后面的 android:process=":remote" 删除就可以了。2. 使用Log,打印信息。3. 等待添加调试器,添加了这条语句之后,可以在这个方法的任何地方添加断点。在需要调原创 2015-05-27 18:01:16 · 5457 阅读 · 1 评论 -
java.lang.ExceptionInInitializerError
一.错误,原因java.lang.ExceptionInInitializerError二.原因引起java.lang.ExceptionInInitializerError 错误的原因是:在类的初始化时,出错。也就是说,在加载类时,执行static的属性、方法块时,出错了。比如 public class AA{ private static AA aa =原创 2015-05-27 17:53:12 · 50468 阅读 · 3 评论 -
Android Preference API 用法--ListPreference(一)
一.ListPreference简介我们都只知道SharedPreference非常适合于参数设置功能,在此处的preference 也是代表SharedPreference的意思,在SharedPreference中,我们可以迅速的将某些值保存进xml文件中,然后我们可以读取这些设置信息进行相应的操作。为了简化与preference相关的应用开发,android为我们提供了一系列的api原创 2015-04-09 17:56:50 · 6263 阅读 · 0 评论 -
Android Service(一)--浅谈Service
一.Service简介service可以说是一个在后台运行的Activity,它不是一个单独的进程,它只需要应用告诉它要在后台做什么就可以了,它要实现和用户的交互的话需要通过通知栏或则是发送广播,UI去接收显示。它的应用十分广泛,尤其是在框架层,应用更多的是对系统服务的调用。它用于处理一些不干扰用户使用的后台操作。如下载,网络获取。播放音乐,他可以通过INTENT来开启,同时也可以绑定到宿主对原创 2015-04-13 17:25:54 · 917 阅读 · 0 评论 -
Android Callback浅谈
一.简介,例子 CallBack是回调的意思,"回调函数"或者"回调方法"是软件设计与开发中一个非常重要的概念,掌握"回调函数"的思想对程序员来说(不管用哪种语言)是非常必要的。 什么是回调函数呢?回调函数就是预留给系统调用的函数,而且我们知道该函数被调用的时机。这里有两点需要注意:第一点,我们写回调函数不是给自己调用的,而是准备给系统在将来某一时刻调用的;第二点原创 2015-04-22 18:32:26 · 1292 阅读 · 0 评论 -
Android Junit测试环境搭建
一.单元测试简介在android的开发的过程中,经常需要对业务方面的代码进行测试,熟悉java的人都知道junit, 在android中google提供了基于junit为android进行了优化得自动化框架junit,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性,在java中使用junit编写测试用例,我们需要继承TestCase,在android中需要继承Android原创 2015-04-22 18:13:48 · 1290 阅读 · 0 评论 -
Android Thread和AsyncTask的区别和联系
一.Thread简介在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会为该应用程序组件开辟一个新的线程来执行。默认的情况下,在一个相同Android应用程序当中,其里面的组件都是运行在同一个线程里面的,这个线程我们称之为Main线程。当我们通过某个组件来启动另一个组件的时候,这个时候默认都是在同一个线程当中完成的。当然,我们可以自己原创 2015-04-10 11:59:36 · 1719 阅读 · 1 评论 -
动态设置ListView的高度的两种方法
今天开发遇到一个问题,就是当动态插入ListView数据的时候,由于之前ListView的高度已经固定死了,所以显示不完整的数据,并且底部显示黑边。解决方法如下:activity中添加下面函数public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter =原创 2014-04-01 16:58:14 · 3547 阅读 · 1 评论 -
关于android-support-v4.jar包的错误
1.添加android-support-v4 误 java.lang.ClassNotFoundException: android.support.v4.view.ViewPager in loade问题:在使用ViewPager添加android-support-v4.jar后提示如下错11-15 21:01:21.725: E/AndroidRuntime(32431): Cause原创 2014-07-03 10:24:04 · 5282 阅读 · 0 评论 -
Android界面坐标图示和Rect(矩形)简介
Android界面的坐标是以左上角为起始点,平行的为X轴,垂直的为Y轴,数值都是递增的。如下图所示:Android的Rect类是形成一个矩形的区域,区域在Android整个界面中的位置由left,top,right,bottom数值来控制,下面的图介绍了这四个值的意思。原创 2014-06-30 17:00:21 · 9211 阅读 · 2 评论 -
HTTP请求:GET与POST方法的区别
(1)get是从服务器上获取数据,post是向服务器传送数据。根据 HTTP 规范,GET 用于信息获取,而且应该是安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,它可以确信从自身的角度来看没有改变原创 2014-01-14 11:35:59 · 1406 阅读 · 0 评论 -
java内存回收机制
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆是由垃圾回收机制来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存原创 2013-12-27 15:05:50 · 3573 阅读 · 0 评论 -
Android java.net.UnKnowHostExcetion错误
错误问题:java.net.UnKnowHostException错误原因:网络访问没有设置权限。解决方法:在AndroidMainfest.xml文件里声明internet权限。添加的代码如下:补充:如果是域名则:java.net.UnknowHostException:www.baidu.com如果是ip则:java.net.原创 2014-01-10 17:42:45 · 1260 阅读 · 0 评论 -
Android Activity 生命周期的透彻理解
说来惭愧,虽然已经做了一年多的android开发,但是最近被人问起activity的生命周期的时候,却感觉自己并不能很自信很确定的回答对方的问题,对activity的生命周期的理解还不透彻啊。 既然发现了问题,那咱就得解决问题,不就个生命周期,能有多复杂。 首先看看android developers 网上的activity的生命周期图: activi转载 2013-12-30 19:27:26 · 643 阅读 · 0 评论 -
Android生命周期
介绍,理解 在 Android 中,多数情况下每个程序都是在各自独立的 Linux 进程中运行的。当一个程序或其某些部分被请求时,它的进程就“出生”了;当这个程序没有必要再运行下去且系统需要回收这个进程的内存用于其他程序时,这个进程就“死亡”了。可以看出,Android 程序的生命周期是由系统控制而非程序自身直接控制。这和我们编写桌面应用程序时的思维有一些不同,一个桌面应用程序的进程也是原创 2013-12-30 19:19:40 · 727 阅读 · 0 评论 -
Android Intent.createChooser() .
Intent.createChooser(ntent target, CharSequence title) 其实 大家对该功能第一影响就是ApiDemo 里面的 其只有区区几行代码 提取为: Java代码 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("audio/*");转载 2013-12-30 19:57:40 · 1169 阅读 · 0 评论 -
java Math.round()
1. 四舍五入要用java.lang.Math中的round()方法。2. java Math.round() public class MathTest { public static void main(String[] args) { System.out.println("小数点后第一位=5"); System.out原创 2013-12-29 15:56:54 · 926 阅读 · 0 评论 -
Android 几种屏幕间跳转的跳转Intent Bundle
屏幕使用一个活动来实现,屏幕间是相互独立的,屏幕之间的跳转关系通过Intent来实现。屏幕间跳转分为以下几类:1. 屏幕1直接跳转到屏幕2 Intent intent = new Intent(); intent.setClass(屏幕1活动名.this,屏幕2活动名.class); startActivity(intent); fi原创 2013-12-29 14:25:48 · 1895 阅读 · 0 评论 -
Android Paint类
Android Paint类要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: setAntiAlias: 设置画笔的锯齿效果。 setColor: 设置画笔颜色 setARGB: 设置画笔的a,r,p,g值。 s转载 2013-11-18 16:03:23 · 902 阅读 · 0 评论