![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
yu0784123
这个作者很懒,什么都没留下…
展开
-
Android2.2以上版本下载网络文件getContentLength()大小异常
接手一个项目出现一个问题2.2以上的版本下载网络资源不完整无法更新。check代码后发现通过HttpURLConnection.getContentLength()获取的size跟下载下来的file的legth不等。奇怪的是下载3个文件前2个都pass最后一个下载的文件的长度比 HttpURLConnection.getContentLength()获取的size小。自己搭建了个tomcat服务器转载 2014-02-19 18:28:40 · 1363 阅读 · 0 评论 -
Android实现开机自动运行程序
有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service。怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了。理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解。使用场景:手机开机后,自动运行程序,在屏幕上显示"H转载 2013-10-22 10:04:18 · 543 阅读 · 0 评论 -
Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而转载 2013-10-21 18:45:59 · 541 阅读 · 0 评论 -
Android开发之精仿QQ设置界面(自定义PreferenceActivity
设置主界面皮肤设置界面流量统计界面好友设置界面(其实这个不在设置界面里,工程里有该ACTIVITY,就在最后加上了)在开发应用程序的过程中我们有很大的机会需要用到参数设置功能那么在Android应用中,我们如何实现参数设置界面及参数存储呢答案是使用PreferenceActivity,相信大家并不陌生只转载 2013-10-22 10:24:13 · 904 阅读 · 0 评论 -
Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data//shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的转载 2013-10-21 18:44:21 · 524 阅读 · 0 评论 -
Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为: 1. 在当前应用程序中定义一个ContentProvider。 2. 在当前应用程序的Android转载 2013-10-21 18:46:19 · 570 阅读 · 0 评论 -
Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览
作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。 SQLite: SQL转载 2013-10-21 18:45:02 · 494 阅读 · 0 评论 -
Broadcast Receiver详解
Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来响应它觉得重要的通知。broadcast receiver可以通过多种方式通知用户:启动activity、使用NotificationManage转载 2013-10-21 17:15:46 · 581 阅读 · 0 评论 -
从GPRS到Wifi已连接时收到三次CONNECTIVITY_CHANGE的广播
接收android.net.conn.CONNECTIVITY_CHANGE广播后,onReceive中通过下面代码判断Wifi是否已连接,总会连续三次输出“Wifi Connected”,也就会连续调用三次doSomething():[mw_shl_code=java,true] ConnectivityManager connManager = (Connectivi转载 2013-10-21 16:25:55 · 1520 阅读 · 0 评论 -
最新历史版本 :Android删除短信的处理
android的很多功能都是需要权限才能操作,还是有很多功能我们是可以直接操作的,只需要在配置文件中注明权限就行了,可是有些虽然注明了权限,但是还是会提示说你没权限。比如删除短信、让手机进入休眠状态(gotoSleep)。下面我就介绍一下我是如何删除一条属于黑名单中的短信: 1、获取你想要删除的短信的线程ID(因为我想删除最近收到的一条短信,所以我只需按时间进行倒序,然后获取第一条转载 2013-10-21 15:30:18 · 1203 阅读 · 0 评论 -
ANDROID开发中定时器的3种方法
|字号 订阅在android中,经常用到的定时器主要有以下几种实现:一、采用Handler与线程的sleep(long )方法二、采用Handler的postDelayed(Runnable, long) 方法三、采用Handler与timer及TimerTask结合的方法。下面逐一介绍:一、采用Handle与线程的sleep(long )方法转载 2013-10-24 19:03:10 · 686 阅读 · 0 评论 -
[Android] Json格式解析和文字图片传输
[Android] Json格式解析和文字图片传输博客分类: Android json串拼写 key=关键字 value=值 例:登陆串 Java代码 userString = "eche.lau@gmail.com"; password = "111111"; JSONStringer userInf转载 2013-09-24 17:15:02 · 3262 阅读 · 0 评论 -
Android软件开发之ListView 详解
http://www.apkbus.com/android-13427-1-2.htmlAndroid软件开发之ListView 详解ListView的使用方法ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView ,今天我通过一个demo来教大家怎么样使用ListView组件 绘制出漂亮的列表,说道L转载 2013-09-19 11:42:47 · 530 阅读 · 0 评论 -
Android使用代码实现RelativeLayout,LinearLayout布局
今天由于项目需要,学习了用代码动态来布局,下面参考一些代码现学了怎样布局。现在和大家分享一下:[html] view plaincopyRelativeLayout rl = new RelativeLayout(this); Button btn1 = new Button(this); btn1.setText("------------转载 2013-09-08 17:33:14 · 415 阅读 · 0 评论 -
在Activity中动态设置TextView的属性
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 创建一个线性布局mLayout = new LinearLayout(this);// 接着创建一个TextViewmTextView = new TextView(this);转载 2013-09-08 17:31:02 · 5947 阅读 · 1 评论 -
android 项目更改包名的方法
1、在项目上右键,选择android tools->rename application package,输入需要改为的名称,然后选择需要改的包,有部分包可能不需要更名 2、上一步并没有修改源码的包,只是将工程中涉及包名的地方改了,下面修改源码的包名,右键要改包名的源码包,选择refactor->rename,注意一定要将rename subpackages选转载 2013-08-26 16:57:57 · 456 阅读 · 0 评论 -
Android之Android布局管理:LinerLayout线性布局
LinerLayout线性布局: 这种布局方式是指在这个里面的控件元素显线性,我们可以通过setOrientation(int orientation)来指定线性布局的显示方式,其值有:HORIZONTAL(0)、VERTICAL(1).默认为HORIZONTAL.与之相关的我们也可以在布局文件中通过android:orientation来指定.同理,其值也有:horizontal、vert转载 2013-07-25 18:23:52 · 1242 阅读 · 1 评论 -
修改一个android应用程序在桌面的图标
private static final String ACTION_INSTALL_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT"; /** * 是否可以有多个快捷方式的副本 */ static final String EXTRA_SHORTCUT_DUPLICATE = "duplicate";转载 2013-10-23 17:26:54 · 797 阅读 · 0 评论 -
纯java从apk文件里获取包名、版本号、icon
简洁:不超过5个java文件依赖:仅依赖aapt.exe支持:仅限windows 功能:用纯java获取apk文集里的包名,版本号,图标文件【可获取到流直接保存到文件系统】原理:比较上一篇文章里通过反编译然后解析AndroidManifest.xml的方式,此种方式更加简单,通过模拟执行aapt截取cmd输出并整理获取信息。 附件为源码,te转载 2013-10-30 17:17:57 · 2752 阅读 · 2 评论 -
Android中SQLite应用详解
上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们对SQLite已经有所了解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite。现在的主流移动设备像Android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上的SQLite开发技巧。对于An转载 2013-11-15 19:30:18 · 695 阅读 · 0 评论 -
android获取APK签名信息及MD5指纹
1.获取APK的签名信息01private String showUninstallAPKSignatures(String apkPath) {02 String PATH_PackageParser = "android.content.pm.PackageParser";转载 2014-02-24 09:11:58 · 1271 阅读 · 0 评论 -
android 项目更改包名的方法
1、在项目上右键,选择android tools->rename application package,输入需要改为的名称,然后选择需要改的包,有部分包可能不需要更名 2、上一步并没有修改源码的包,只是将工程中涉及包名的地方改了,下面修改源码的包名,右键要改包名的源码包,选择refactor->rename,注意一定要将rename subpackages选转载 2014-02-22 23:35:11 · 770 阅读 · 0 评论 -
SQLite多线程读写实践及常见问题总结
基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了一些经常遇到的,也需要注意的一些问题,与大家分享,水平有限,不妥或者错误的地方还望指出。多线程读写SQLite实质上是将数据写入一个文件,通常情况下,在应用的包名下面都能找到xxx.db的文件,拥有root权限的手机,可以通过adb shell,看到data/data/packagename/databases转载 2013-12-26 13:52:29 · 948 阅读 · 0 评论 -
android listview 下拉刷新以及加载更多
本例是实现下拉时刷新并且底部设置加载更多选择并在下拉和回滑时加入相应的动画效果,功能实现主要为自定义一个Layout在此布局中头部刷新主要是用到了在头部添加布局view控件并使用GestureDetector控制下拉时的变化以便控制滑动的效果,在自定义底部也加一个加载更多的布局,中间内嵌一个ListView控件以显示内容。具体步骤如下: 第一步:设计自定义布局PullDow转载 2014-01-04 12:58:43 · 1011 阅读 · 0 评论 -
android 数据库 sqlite数据类型(时间 日期 double等)
sqlite3支持的数据类型:NULL、INTEGER、REAL、TEXT、BLOB但是,sqlite3也支持如下的数据类型smallint 16位整数integer 32位整数decimal(p,s) p是精确值,s是小数位数float 32位实数double转载 2013-11-15 10:31:00 · 770 阅读 · 0 评论 -
Android Sqlite数据库版本升级管理初探
Android Sqlite数据库版本升级管理初探在做Android项目涉及到版本升级,而数据库同样也会因为需求的变更而导致表的增减以及字段的增减。这是不可避免的。麦洛刚开始做项目的时候很少考虑这个问题,但当软件需要升级版本后,数据库的表结构很有可能就改变了,如果不考虑数据库的版本升级,那么在软件升级时,就会因为数据库找不到某些字段而出错。也不能把之前版本的数据库删除,因为以前版本转载 2013-11-14 15:43:19 · 507 阅读 · 0 评论 -
Android中String资源文件的format方法
很多时候我们感性Google在设计Android时遵守了大量MVC架构方式,可以让写公共代码、美工和具体逻辑开发人员独立出来。有关Android的资源文件values/strings.xml中如何实现格式化字符串呢? 这里Android123举个简单的例子,以及最终可能会用到哪些地方。1. 2. 3. cwj_Demo 4. android开发网 5.转载 2013-11-09 10:41:52 · 669 阅读 · 0 评论 -
Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8689140大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我说几句不相干的废话。不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助,总是有很多高手喜欢把自己的经验写在网上,供大家来学习,我也是从中受惠转载 2013-11-22 11:00:09 · 852 阅读 · 0 评论 -
有关Android的Activity背景图片设置和传递
1、设置Activity图片背景Android(Activity)设置背景图片方法:xml布局中用andriod:background = "@drawable/bgimage"或者在代码中使用layout.setBackgroundResource(resId)其中“bgimage”是放在res/drawable/目录下的需要设置成背景的图片。方法一:在main.转载 2013-11-20 16:43:42 · 2955 阅读 · 0 评论 -
Android 避免APP启动闪黑屏的解决办法(Theme和Style)
闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受。没办法,只能想想怎么解决,最后找到了下面的方法。闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面。也就是说需要处理一些数据后,才会显示。按照这种思路,是不是我把初始化的转载 2013-11-05 17:48:57 · 1503 阅读 · 0 评论 -
linearlayout水平靠右显示方法
在安卓中,只有垂直的linearlayout属性里面的内部组件靠左靠右才有效,同理,水平的linearlayout属性里面的内部组件靠上靠下才有效,否则无效由此考虑如何让水平linearlayout中同一行内组件靠左靠右显示呢, LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr转载 2013-11-04 17:05:56 · 3623 阅读 · 0 评论 -
Android: ListView与Button的共存问题解决
这两天在捣鼓ListView widget,为了在ListView中加入Button这类的有 “点击” 事件的widget,请教了不少高手,感谢LandMark对我的认真讲解,下面把解决过程描述一下。 ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的clic转载 2013-11-04 10:35:38 · 721 阅读 · 0 评论 -
android 启动另外一个程序的Activity
Android 的一个特色就是 application A 的 activity 可以启动 application B 的 activity,尽管 A 和 B 是毫无干系的,而在用户看来,两个场景紧密联系,视觉上二者构成了一个整体。Android 就是把这种误觉定义为 Task,它既不是 class,也不是 AndroidMainifest.xml 中的一个元素。从表现上看 Task 就像是一个转载 2013-11-19 10:05:33 · 3401 阅读 · 0 评论 -
Android开发中string.xml文件的使用
一:是为了国际化,Android建议将在屏幕上显示的文字定义在strings.xml中,如果今后需要进行国际化,比如我们开发的应用本来是面向国内用户的,当然在屏幕上使用中文,而如今我们要让应用走向世界,打入日本市场,当然需要在手机屏幕上显示日语,如果没有把文字信息定义在string.xml中,就需要修改程序的内容了。但当我们把所有屏幕上出现的文字信息都集中存放在string.xml文件之后,只需要转载 2013-11-04 15:20:56 · 624 阅读 · 0 评论 -
android 线程 wait notify
线程状态1.程序通过Thread t = new Thread(),调用t.start()启动一个线程,使该线程进入可运行(Runnable)的状态。2.由JVM的决定去调度(Scheduler) 在可运行状态(Runnable)下的线程,使该线程处于运行 (Running) 状态,由于JVM的调度会出现不可控性,即不是优先级高的先被调用,可能先调用,也可能转载 2013-11-18 12:34:07 · 526 阅读 · 0 评论 -
SQLite数据库简介
大家好,今天来介绍一下SQLite的相关知识,并结合Java实现对SQLite数据库的操作。SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。SQLite由以下几个部分组成:SQL编译器、内核、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),是调试、修改和扩展SQLi转载 2013-11-15 19:32:38 · 617 阅读 · 0 评论 -
sqlite 判断某张表是否存在
/** * 判断某张表是否存在 * @param tabName 表名 * @return */ public boolean tabbleIsExist(String tableName){ boolean result = false; if(tableName =转载 2013-07-12 17:30:04 · 769 阅读 · 0 评论 -
Android Library Projects - Tutorial
http://www.vogella.com/articles/AndroidLibraryProjects/article.htmlAndroid Library Projects - TutorialLars VogelVersion 1.3Copyright © 2011, 2012, 2013 Lars V转载 2013-06-20 16:04:19 · 564 阅读 · 0 评论 -
android 如何制作自己的sdk
把你编译好的java生成的class打成jar包,如果要使用activity的话,就是要在嵌入sdk的项目中的androidManifest.xml中注册jar包中的activity就可以正常跳转了。参考资料:http://wenku.baidu.com/view/238d74e69b89680203d82510.html转载 2013-06-20 15:47:56 · 2421 阅读 · 0 评论 -
Android-sqlite数据库存取图片信息
sqlite数据库存取图片信息。存储图片:bitmapprivate byte[] getIconData(Bitmap bitmap){int size = bitmap.getWidth()*bitmap.getHeight()*4;ByteArrayOutputStream out = new ByteArrayOutputStream(s转载 2013-05-01 09:38:41 · 662 阅读 · 0 评论