Android 基础
文章平均质量分 77
comkingfly
这个作者很懒,什么都没留下…
展开
-
adb 命令及使用权限问题
现在移动设备很多,手机管家也有不少,比如腾讯,91,360等,这些移动设备连接上电脑且开启调试模式,在windows环境下,只要是找到了驱动就可以使用adb命令。但是也有些特殊移动设备,没有找到驱动,就需要到linux环境下连接了,而在linux下就会遇到一些权限不够或者只读之类的问题。使用adb devices出现下面的提示:error: insufficient permiss原创 2012-06-20 10:08:31 · 5434 阅读 · 0 评论 -
QuickContact分析及其弹出窗口实现
一、简介 QuickContact是为了应用程序能够快速方便的访问联系人,并且快速的运用联系人的信息执行相应操作而设计的。最常见的在Contacts应用程序中如下图所示: 在Activity中存在一个图标,点击该图标后弹出一个窗口,窗口中会有几个图标,不同的图标表示针对该联系人进行的不同操作,比如打电话,发短信,发送邮件,进入主页等等。图标的显示和不显示取决于该转载 2012-03-13 16:33:28 · 1058 阅读 · 0 评论 -
ScaleGestureDetector之手势缩放
概述 根据接收的MotionEvent, 侦测由多个触点(多点触控)引发的变形手势。callback方法 ScaleGestureDetector.OnScaleGestureListener 会在特定手势事件发生时通知用户。该类仅能和Touch事件引发的MotionEvent配合使用。使用该类需要 为你的View创建ScaleGestureDetector 实例 确保在on原创 2012-03-13 16:24:47 · 3088 阅读 · 1 评论 -
进程、线程与JVM之间的关系
Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。通过利用 Linux 内核的优势,Android 得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。android进程模型:在安装Android应用程序的时候,Android会为每个程翻译 2012-03-12 09:51:20 · 6945 阅读 · 0 评论 -
android设置中常用的PreferenceActivity用法介绍
PreferenceActivity它包含了许多类似控件的东西来表示不同的设置需求如分类设置,选择框设置,下拉列表设置,编辑框设置,铃声设置,而且这些设置不需要我们自己来保存用户设置的数据,它自己会将数据保存在xml文件当中。下面是PreferenceActivity中各个组件的介绍。1. PreferenceScreen:设置页面,可嵌套形成二级设置页面,用Title参数设置标题。原创 2012-03-28 11:09:19 · 1625 阅读 · 0 评论 -
App模块化及工程扩展
1.需求 无论是在.net还是java平台,合理的分层架构是最普遍的模块化思路之一。 dll,jar文件无不风靡盛行,无处不在。 一天,tx团队和我说,我们现在要做android上做三个论坛的客户端,一个是新闻论坛,一个是文学论坛,一个是音乐论坛。除了数据,界面和很少的模块不一样,其他的都一摸一样。 jar是我第一刻就想到的东西,但是共用的jar文件无法方便转载 2012-03-09 16:22:45 · 533 阅读 · 0 评论 -
ListView 适配器优化
ListView的Adapter的作用如下图所示:在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建。ListView加载数据都是在publi原创 2012-03-08 17:01:53 · 840 阅读 · 1 评论 -
Android BroadcastReceiver 的生命周期及实际应用
BroadcastReceiver 有一个回调方法:void onReceive(Context curContext, Intent broadcastMsg)。当一个广播消息到达接收者时,Android 调用它的 onReceive() 方法并传递给它包含消息的 Intent 对象。BroadcastReceiver 被认为仅当它执行这个方法时是活跃的。当 onReceive() 返回后,它是转载 2012-03-08 17:51:48 · 1157 阅读 · 0 评论 -
带选项框的listview
布局包括主界面和Listview的布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation原创 2012-03-08 16:37:57 · 947 阅读 · 0 评论 -
URL(获取指定网址里的图片)
一、概述 URL,说白了就是一个网络地址(网址),通常一个网址里包含很多内容,这里要讲的不是如何从一个包括很多内容(比如很多图片)的网址里找到自己感兴趣的内容(比如说某一张图片),而是从一个带有图片格式(.jpg、.png、.bmp等)后缀的网址里获取该图片,也就是说该网址里只有一张图片。二、要求 从指定的网址里获取图片并显示出来。转载 2012-03-13 16:59:38 · 4132 阅读 · 0 评论 -
Socket编程(多线程、双向通信)
一、概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把它给完善了。加入了多线程,这样UI线程就不会被阻塞;实现了客户端和服务器的双向通信,只要客户端发起了连接并成功连接后那么两者就可以随意进行通信了。二、实现 在之前的工程基础上进行修改就可以了。 MyClient工程的main.xml文件不用修改,只需要修改MyCl转载 2012-03-13 17:05:13 · 2408 阅读 · 0 评论 -
Gson解析新浪微博数据
JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript。JSON数据是一系列键值对的集合。JSON和XML的比较JSON比XML体积小JSON和JavaScript交互更加方便JSON对数据的描述性没有XML好JSON的速度要远远大于XMLJSON的解析要比XML的解析要方便JSON已经被大多数开发人员所接受,在网络原创 2012-05-18 15:17:56 · 4235 阅读 · 2 评论 -
Android创建快捷方式和判断是否已经创建
一般的Android应用程序安装完成后是不会自动创建快捷方式的,我们可以自己在程序启动时实现。需要权限:和要点击快捷方式对应的那个activity的属性。 如何判断快捷方式是否已经创建的方法,因为快捷方式信息是保存在com.android.launcher的launcher.db的favorites表中,所以可以查询此表得到转载 2012-03-16 10:18:37 · 1228 阅读 · 0 评论 -
Android程序调用摄像头
很多开发者都想在Android程序中调用摄像头,并对拍出的照片进行处理。首先先对程序的进行一下预览:首先先对主页面进行设计,这里很简单,只是加了个按钮和一张图片。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_par转载 2012-03-16 10:59:19 · 3173 阅读 · 0 评论 -
Android自动更新代码
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.转载 2012-03-16 10:35:52 · 602 阅读 · 0 评论 -
关于Android的一些设计
摘要:这篇文章将帮助设计师熟悉在开始使用Android开发所需的各种知识,并提供合适的资源给开放团队。 谈到应用程序设计,对设计师来说,Android就像是房间里的大象。很多设计师会更希望这是iOS,在那里所有任何人都只需要关心iPhone手机,iPad和App Store。然后没有人可以忽略Android,它目前已占据智能手机中最大的市场份额,且已经被广泛用于从平板电脑到电转载 2012-03-16 11:49:14 · 496 阅读 · 0 评论 -
Android通过获取Ip的方法判断手机是否联网
在我们的开发中,有时需要判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和我们3G卡的Ip地址当然是不一样的。首先我尝试了如下方法:WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);WifiInfo wifiInfo = wifiManager.getConnection转载 2012-03-16 10:53:22 · 1153 阅读 · 0 评论 -
Android Notification实例理解
Android Notification可以理解为通知的意思,一般用来显示广播信息,用Notification就必须要用到NotificationManager。想要使用Notification一般有三个步骤:1、获得系统级的服务NotificationManager。调用Context.getSystemService(NOTIFICATION_SERVICE)方法即可返回N转载 2012-03-16 10:40:36 · 971 阅读 · 0 评论 -
区分Activity的四种加载模式(Activity跳转管理) 和 Intent的常用Flag参数
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置(1)Activity有四种加载模式:standardsingleTopsingle转载 2012-03-14 17:40:34 · 799 阅读 · 0 评论 -
内存异常系列之Android解决加载大图片时内存溢出的问题
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的翻译 2012-03-06 10:32:01 · 1064 阅读 · 0 评论 -
内存异常系列之单例模式导致内存泄露
最近在公司看一个算比较大的android项目的源码,发现了一个很严重的问题,就是项目里使用单例模式,构造函数要传入Context做参数的类,基本上都存在内存泄露问题。我想这个项目这么多人做也没有人发现问题,这问题应该会挺常见的,同时也挺严重的。存在内存泄露问题的一些代码片段像下面这样:Util.java public class Util { private C翻译 2012-03-06 10:41:10 · 1794 阅读 · 0 评论 -
PopupWindow
1 PopupWindow & Dialog: PopupWindow是一个阻塞式的弹出框(在我们退出这个弹出框之前,程序会一直等待),Dialog非阻塞式弹出框(后台还可以做其他事情)2 PopupWindow使用步骤总结 Ⅰ 自定义PopupWindow布局文件,并获取获取其实例 Ⅱ 创建PopupWindow对象,定义相关属性 Ⅲ PopupWindow界面翻译 2012-02-29 11:48:12 · 1059 阅读 · 0 评论 -
android开发中-使用Dialog managed dialog
managed dialog是指一个生存周期由activity管理的dialog,上面两个例子我们创建的dialog都是生存周期是自己管理的。这样做的好处是代码比较简单明了,需要时就创建,完成后就自动销毁,不好的地方是因为每次调用都需要创建dialog对象,内存开销比较大。而managed dialog则是创建一次而能被多次使用,所以它的核心概念是复用dialog。(这有点像是jdbc的连接原创 2011-07-01 10:02:00 · 1874 阅读 · 0 评论 -
android开发中-使用Dialog ProgressDialog
ProgressDialog是AlertDialog的子类,我们用它来显示有进度条的Dialog。这种带有进度的UI控件在好多UI框架中都可以看到,当用户执行一个操作时间较长的操作时,在一个设计良好的系统中应该要显示一个进度条提示用户目前处理的进度到哪了。在安装应用程序和网络交互应用中最常见到进度条,安装应用程序由于耗时长,所以需要指示用户进度,网络交互由于网络环境的不稳定也需要指示用户交互转载 2011-07-01 09:58:00 · 8747 阅读 · 0 评论 -
android开发中-使用Dialog prompt获取输入信息
prompt dialog是指弹出一个窗体提供输入框让用户可以输入数据,程序需要读取这些数据然后再进行后续处理。在Javascript中Window.prompt会弹出一个对话框让用户输入信息,然后程序就暂停在输入框这里,等到用户输入完成点击确定后,程序才接着执行,所以prompt dialog是同步的形式。但是在android中dialog都是异步的形式,那么怎么完成类似同步的效果呢?转载 2011-07-01 10:07:00 · 8264 阅读 · 1 评论 -
android开发-使用Dialog AlertDialog
Dialog对话框,大家肯定都不陌生。我们使用Windows操作系统、IE浏览器等经常会弹出对话框,这些对话框大部分都是模态的同步对话框。所谓的模态是指:当前弹出的Dialog挡住了它的父窗口,在Dialog消失前,父窗口无法获取焦点,浏览器中的alert对话框就是这样的;所谓的同步是指:程序执行到弹出Dialog后就停在当前行代码,等到Dialog处理完后程序才接着往下执行。在Andr转载 2011-07-01 09:49:00 · 12317 阅读 · 8 评论 -
Android中Style和Theme的使用
原帖为:http://henzil.easymorse.com/?p=364 越来越多互联网企业都在Android平台上部署其客户端,为了提升用户体验,这些客户端都做得布局合理而且美观.......Android的Style设计就是提升用户体验的关键之一。Android上的Style分为了两个方面:Theme是针对窗体级别的,改变窗体样式;St转载 2011-06-20 16:37:00 · 6648 阅读 · 0 评论 -
互发短信之SmsManager
短信管理器 : SmsManager1. 在 Android 2.0 以前 应该使用 android.telephony.gsm.SmsManager 之后应该用 android.telephony.SmsManager;2. 获取系统默认的短信管理器 SmsManager smsManager = SmsManager.getDefault();3. 按照每条短原创 2011-06-22 09:55:00 · 2481 阅读 · 0 评论 -
Android Menu
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <! /* Style原创 2011-06-09 08:37:00 · 646 阅读 · 0 评论 -
ListView
ListView应该是android里最常用的显示数据的控件了。它用来将集合数据一个个抽取出来按照从头到尾往下显示的控件里,这些是在手机中经常看到的一些布局。 列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器 用来把数据映射到ListView上的中介。3.数据 具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表原创 2011-07-01 10:46:00 · 6606 阅读 · 4 评论 -
ScrollView滚动条
ScrollView也是一个Layout布局,可以让它内部的数据显示不下的时候出现滚动条,要注意的是不能在ScrollView中放多个组件,如果放了多个组件,会出现如下错误:ERROR/AndroidRuntime(271): Caused by: java.lang.Illeg原创 2011-07-25 09:51:16 · 2860 阅读 · 0 评论 -
简单基站定位程序
在Android操作系统下,基站定位其实很简单,先说一下实现流程:调用SDK中的API(TelephonyManager)获得MCC、MNC、LAC、CID等信息,然后通过google的API获得所在位置的经纬度,最后再通过google map的API获得实际的地理位置。(google真牛!)有同学会问:MNC、MCC、LAC、CID都是些什么东西?google又怎么通过这些东西就翻译 2012-02-29 11:34:59 · 3321 阅读 · 3 评论 -
Android 一些不为人知的小秘密
* #*#4636#*# *显示手机信息、电池信息、电池记录、使用统计数据、WiFi信息* #*#7780#*# *重设为原厂设定,不会删除预设程序,及SD卡档案。*2767*3855#重设为原厂设定,会删除SD卡所有档案。* #*#34971539#*# *显示相机相机韧体版本,或更新相机韧体* #*#7594#*#*6当长按关机按钮时,会出现翻译 2012-02-28 18:02:58 · 695 阅读 · 0 评论 -
android中给按钮注册监听器的一种新颖的方法
不知道android:onclick这个属性大家熟悉么,我是看apidemos里边的一个例子 popupmenu发现它的首先给大家看看代码/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License转载 2012-02-28 09:38:44 · 1653 阅读 · 0 评论 -
android 显示特殊符号
在android上使用ASCII显示特殊符号 在xml中表示如下: ¥ 相应的在代码中表示如下: tv.setText(R.string.symbol); 或直接 char symbol=165; tv.setText(String.valueOf(symbol)); 以下为常见的ASCII十进制交换编码: --> !-原创 2012-02-27 17:57:06 · 8106 阅读 · 1 评论 -
android中的数据存取 之 File
Android系统中,我们可以很方便的利用文件存储我们想要的内容Context为我们提供了以下的几个方法方法名称 描述openFileInput(String原创 2011-11-26 22:59:20 · 1085 阅读 · 0 评论 -
android中的数据存取 之 SQLite
1.Android中通过SQLite数据库引擎来实现结构化数据存储。SQLite是一个嵌入式数据库引擎,针对内存等资源有限的设备,提供的是一种高效的数据库引擎。2.Android提供了创建和使用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法,另外还有一个SQLiteOpenHelper工具类提供更简洁的功能。3. SQLiteOpen原创 2011-11-26 22:29:49 · 1033 阅读 · 0 评论 -
Java之数组计算大数相乘
public class ArrayMulti { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub int[] date = new int[100000]; date[1] = 1; int weishu = 1; // 求出来的值的位数原创 2011-11-26 23:14:43 · 888 阅读 · 0 评论 -
statusbar上根据不同语言,添加PM,AM,或者上下午
Android原生的系统,在statusbar里的系统时间,用12小时制来显示时,是没有上下午的。现在就是跟他添加这个功能,当中文时候,添加在左边,当其他语言时候,添加在右边。系统原生图片:修改后的样式:如果要上下午跟时间的字体大小一样,可以直接在原创 2011-10-06 02:06:07 · 2817 阅读 · 7 评论 -
Android命令
查看本机已经启动的模拟器:adb devices显示系统中全部Android平台:android list targets显示系统中全部AVD(模拟器):android list avd创建AVD(模拟器): android create avd --name 名称 --target 平台编号启动模拟器: emulator-avd 名称 -sdcard ~/原创 2011-06-09 09:58:00 · 640 阅读 · 0 评论