android基础架构
jingwen3699
从2005年初第一份工作j2ee工作,二次开发。2005年底年到2010做j2me开发和当j2me游戏培训师。
2010年初就开始接触android开发。
从2005年底开始从事手机程序开发。
目前专职做android软件开发。
展开
-
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not download gson*
我们也真牛,把gradle逼的都会使用代理了.gradle/gradle.properties## For more details on how to configure your build environment visit# http://www.gradle.org/docs/current/userguide/build_environment.html## Spec...原创 2019-12-07 20:48:22 · 540 阅读 · 0 评论 -
成为“Android高手”需要经过的六个阶段和6个境界
成为Android高手一般分为六个阶段:第一阶段:熟练掌握Java SE,尤其是对其内部类、线程、并发、网络编程等需要深入研究;熟练掌握基于HTTP协议的编程,清楚POST和GET等请求方式流程和细节;能够进行基本的Java Web编程,如果能够使用Java EE则更好;第二阶段:精通Android的核心API的使用,例如四大组件所涉及的API、Context等,精通核心界面的编程,例如L转载 2012-07-07 01:06:57 · 1805 阅读 · 1 评论 -
android的第一个程序helloworld (有图有真相)
1、创建工程2、都不需要编写代码非常简单 AndroidhelloActivity.javapackage com.mrjing.org;import android.app.Activity;import android.os.Bundle;public class AndroidhelloActivity extends Activity {原创 2012-08-03 00:15:39 · 13195 阅读 · 0 评论 -
android完全退出程序(android退出有多个activity的应用)
这里介绍两种方法:一种把每个activity记住,然后逐一干掉;另一种思路是使用广播。本文来源于网络,如有雷同,那是必须的。写此贴只是为了总结一下常用东东,还望原作者莫怪,本人真不是想侵权。方法一、用list保存activity实例,然后逐一干掉上代码:import java.util.LinkedList; import java.util.List; import an转载 2012-08-03 10:36:04 · 5619 阅读 · 5 评论 -
Android Gallery滑动太快的问题
在做项目时,用Gallery展示图片,遇到一个问题,就是滑动太快,每次轻轻一拨图片,就滑动过去几张,怎么解决呢?搜索之后,有了下面的解决方法:1、自定义Gallery重写onFling方法public class UGallery extends Gallery { public UGallery(Context context, AttributeSet attr原创 2012-08-07 10:21:20 · 1350 阅读 · 0 评论 -
android 获得IMSI / IMEI
手机里的SIM卡的IMSI (国际移动用户ID) 和IMEI (国际移动设备ID). IMSI 与 SIM唯一对应, IMEI 与 设备唯一对应.可能应用的场合: 你可能需要 唯一的id 去授权/注册,或者用于你的Android-Activity的license目的 下面的两行代码将会使你获得SIM卡唯一 ID IMSI 和设备唯一ID IMEI 描述: IMSI是一个 唯一的转载 2012-08-08 23:03:53 · 1465 阅读 · 0 评论 -
Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下方法: [java] view plaincopyWifiManager wifiManager = (WifiM转载 2012-08-08 16:44:20 · 1310 阅读 · 0 评论 -
java代码检查是否为有效ip地址
/*Java 验证Ip是否合法*/public static boolean isIPAddress(String ipaddr) {boolean flag = false;Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1原创 2012-08-08 23:31:29 · 7320 阅读 · 1 评论 -
Androidpn里的Xmpp的理解(消息推送)
XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。用xmpp来实现android的push功能,感觉有点大材小用了,xmpp本身是一种即时通信协议。 xmpp是一种用于即时通信的协议,使用过程有点类似于我们使用QQ的过程,其使用过程分为三步: 1. 连接服务转载 2012-08-09 15:45:04 · 2373 阅读 · 1 评论 -
android:layout_gravity和android:gravity的区别
1.首先来看看android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Bu转载 2012-08-09 09:41:00 · 1538 阅读 · 0 评论 -
Android之ScrollView嵌套ListView(牛)
问题所在:在ScrollView中嵌套使用ListView,ListView只会显示一行多一点--------------------------------------------------------------------------------------------------解决方案: 这里我贴出了核心代码 public class Utility {转载 2012-07-26 10:15:25 · 2362 阅读 · 1 评论 -
Android 解决ListView 和 ScrollView 共存冲突的问题(另一种解决方案)
ListView 与 ScrollView 同在一个界面用头脑想想都觉得不大可能这样做,但还真的有美工这样做了,有点郁闷~!!沟通无果,解决之~~~~!初期还真没啥头绪,Google 一下看到有很多同样碰到这类头痛的问题,不好意思还没描述问题症状。ListView 与 ScrollView 同在一界面会导致ListView 显示变形,因为ListView 也有自带的滚动事件,故无法与ScrollV转载 2012-07-26 10:48:01 · 1143 阅读 · 0 评论 -
详解android:scaleType属性
android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别:CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示CENTER_CROP / centerCrop 按转载 2012-08-10 12:10:20 · 555 阅读 · 0 评论 -
Ubuntu 系统上编译Android 系统
编译Android 过程建立编译环境, Ubuntu 版本Linux 操作系统, 在此基础上下载编译Android 代码。下面是顺序描述的程序,安装操作系统, 编译程序到结束,过程如下。1. Ubuntu Linux 操作系统安装软件包。使用ubuntu-8.04.1 desktop-i386 系统.- 第一,获得ISO 映像的Ubuntu Linux 操作系统安装光盘创建。转载 2012-07-26 14:17:11 · 823 阅读 · 0 评论 -
推荐android几本研究深入的书籍(对开发人员很有帮助)
Android Web应用Android 开发管家技术与精彩案例Android 开发实战经典Android 平台开发之旅Android 开发应用实战详解Android 经典应用程序开发Android 开发应用从入门到精通Android 从入门到精通Android 开发宝典Android 编程入门经典Android 语法原创 2012-07-30 10:25:35 · 2714 阅读 · 1 评论 -
Android Matrix
Matrix的数学原理平移变换旋转变换缩放变换错切变换对称变换代码验证 Matrix的数学原理在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图像的处理可分为四类基本变换:Tran转载 2012-08-15 16:58:58 · 742 阅读 · 0 评论 -
Android系统发展历程:1.0到4.0及代表机型
今天我们来聊一聊Android系统的历史,首先我们就要先来说说Android系统这个名字的来历。Android这一次最先出现在法国作家利尔亚当在1886年发飙的科幻小说《未来夏娃》中,作者将外表像人类的机器起名为Android,这也就是Android小人名字的由来。知道了Android名字的来历我们再来看一下Android系统的来历。Android系统一开始并不是由谷歌研发出来了,转载 2012-08-15 22:56:57 · 3937 阅读 · 0 评论 -
网络编程的基本概念,TCP/IP协议简介
网络编程的基本概念,TCP/IP协议简介8.1.1 网络基础知识 计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行转载 2012-08-17 00:49:50 · 4201 阅读 · 0 评论 -
如何解决Eclipse挂掉的问题
近日,Eclipse经常挂掉,都是由于JVM崩溃的原因。每次都有以下错误日志:## A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc=0x7bab036c, pid=12169, tid=3072990096## JRE version: 6.0转载 2012-08-17 21:23:26 · 1233 阅读 · 0 评论 -
service的onstartcommand函数
这个是在startService (Intent service) 方法之后由系统调用的,传入相关的参数,类似activity的onStart。在创建Service后也就是onCreate后调用,创建一次后以后每次启动该服务都直接调用onstartcommand。是android2.0以后引进的取代service的onstart()方法,也就是说在之前的版本是没有的,如下面这个帖子转载 2012-08-29 21:48:01 · 3403 阅读 · 1 评论 -
ubuntu下配置jdk+eclipse+android sdk
一直准备学一点Linux的东西,一直没有付诸行动,这个周末准备安装一下,做了将近半年的android开发,准备学一点关于框架和源码的东西。。。安装之前也百度谷歌了很多次,也看了网上不少的资料,总结一点,就是对于像我这种入门级的人来说,还是不够明确,结合网上的资料,本人在此再做完善一下,希望对后来之人有所帮助,于我也算是一种学习吧。首先是安装ubuntu,这个在ubuntu官方网站h转载 2012-08-20 19:44:43 · 738 阅读 · 0 评论 -
《Ophone应用开发权威指南》学习:Android 图形用户界面 之 动画(一)
直接贴上今天写的一些小Demo代码,供以后学习:2011 - 05 - 25 package com.anim;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.view.Window转载 2012-08-16 20:49:47 · 926 阅读 · 0 评论 -
Android中图像变换Matrix的原理、代码验证和应用(一)
第一部分 Matrix的数学原理在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图像的处理可分为四类基本变换:Translate 平移变换Rotate 旋转变换Scale转载 2012-08-16 20:55:41 · 657 阅读 · 0 评论 -
This Handler class should be static or leaks might occur Android
更新到ADT2.0的开发者们可能会在handler上发现这么一条警告:This Handler class should be static or leaks might occur 。 首先在ADT 20 Changes我们可以找到这样一个变化:New Lint Checks: Look for handler leaks: This ch转载 2012-08-31 16:50:09 · 5780 阅读 · 0 评论 -
Android平台——Binder机制
由代码来补充部分:int main(int argc, char** argv){ sp proc(ProcessState::self()); sp sm = defaultServiceManager(); LOGI("ServiceManager: %p", sm.get()); AudioFlinger::instan转载 2012-08-31 16:56:44 · 1110 阅读 · 0 评论 -
Android手机上网、彩信APN设置
Android手机上网、彩信APN设置Godaddy最新域名优惠码 - 帅哥推荐博客主机 - linost圣诞促销返款 - iPhone4销售状态查询前几天师弟跑来问我G2(Magic)怎么一直没法接收手机报啊?我问他设置APN没,他倒反问我,APN是什么?我晕死,当时确实也忘记给他设置了,只是给他了APN开关和3G流量狗为了方便新手使用,我将各运营商的上网、彩信APN转载 2012-08-22 17:39:36 · 17873 阅读 · 1 评论 -
android之Binder机制解析
说到Binder我们就不得不说android的服务,android之所以引入Binder就是为了实现代码的远程调用(一个进程调用另一个进程中的代码)而服务(service)大多都是通过binder机制来实现和客户端的通信的。要弄懂Binder机制,你只需要懂以下四点就OK了:========================================================转载 2012-09-01 14:52:49 · 786 阅读 · 0 评论 -
Android开发环境搭建全程演示(jdk+eclipse+android sdk)
全程演示android开发环境的搭建过程,无需配置环境变量。所有软件都是写该文章时最新版本友情广告:微美丽,谢谢支持!一 相关下载(1) java JDK下载:进入该网页: http://java.sun.com/javase/downloads/index.jsp (或者直接点击下载)如下图:选择 Download JDK 只下载JDK,无需下载jre.转载 2012-08-22 17:24:48 · 726 阅读 · 0 评论 -
Android Parcel理解
android 中Parcel 的使用,他是一个存储基本数据类型和引用数据类型的容器,在andorid 中通过IBinder来绑定数据在进程间传递数据。Parcel parcel = Parcel.obtain();// 获取一个Parcel 对象下面就可以对其进行方法进行操作了,createXXX(),wirteXXX(),readXXX(),其中dataPosition(),返回当转载 2012-08-31 16:55:30 · 789 阅读 · 0 评论 -
Android开发中的多线程编程技术
多线程这个令人生畏的“洪水猛兽”,很多人谈起多线程都心存畏惧。在Android开发过程中,多线程真的很难吗?多线程程序的“麻烦”源于它很抽象、与单线程程序运行模式不同,但只要掌握了它们的区别,编写多线程程序就会很容易了。下面让我们集中精力开始学习吧! 多线程案例——计时器 我在给我的学生讲多线程的时候都会举一个计时器的案例,因为计时器案例是多线程的经典应用。 这个案例转载 2012-09-02 23:44:43 · 929 阅读 · 0 评论 -
Dalvik虚拟机探析
Dalvik虚拟机是google专门为android平台开发的一个java虚拟机,但它并没有使用JVM规范。Dalvik虚拟机主要完成对象生命周期的管理、线程管理、安全和异常管理以及垃圾回收等重要功能。 java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈。 基于栈的机器必须使用指令来载入和操作栈转载 2012-09-05 09:16:51 · 874 阅读 · 0 评论 -
HTML特殊转义字符列表
最常用的字符实体Character Entities显示说明实体名称实体编号 半方大的空白 全方大的空白 不断行的空白格 小于<<>大于>转载 2012-09-05 19:15:58 · 2840 阅读 · 0 评论 -
Android实现任务管理器
任务管理器可以实现的功能有:1.查看当前系统下运行的所有的进程2.可以查看每个进程的进程号、版本号以及内存占用情况3.杀死进程(可以杀死全部进程或者杀死指定的进程)4.查看系统剩余内存效果图:转载 2012-09-09 22:45:20 · 1540 阅读 · 0 评论 -
Android中应用程序如何获得系统签名权限
有些库的使用条件比较苛刻,要求同一签名的程序才可以获得访问权。此时即便是在AndroidManifest.xml中添加了相应的permission,依旧会得到没有xx访问权限的问题。比如android.permission.ACCESS_SURFACE_FLINGER 。 第一个方法简单点,不过需要在Android系统源码的环境下用make来编译: 1. 在应转载 2012-09-27 14:38:31 · 25539 阅读 · 6 评论 -
android Monkey的使用
monkey 压力测试adb -d shell monkey -p your.package.name -v 6000一、 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定转载 2012-09-12 09:43:46 · 581 阅读 · 0 评论 -
解决ADB server didn't ACK问题
之前运行eclipse执行android应用都没问题,今天突然出问题了,控制台报错: The connection to adb is down, and a severe error has occured. You must restart adb and Eclipse. Please ensure that adb is correctly located at 'D:\a转载 2012-09-12 09:59:38 · 611 阅读 · 0 评论 -
程序异常
程序的异常,或者崩溃,最难的地方就是不知道怎么出现的。只要找的出现的规律,我错误定位到,我们一般情况下都能够解决这个问题。否则大海捞针,最近为了解决一个客户端的性能和崩溃问题,大费心思。原创 2012-09-12 19:54:59 · 558 阅读 · 0 评论 -
Android ProgressDialog错误:Unable to add window
今天在看API学习ProgressDialog时遇到的一个问题 Android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an applicationpackage com.covics.zfh;转载 2012-09-12 15:28:27 · 3416 阅读 · 0 评论 -
android客户端的性能优化
1、保证程序的健壮性,不能崩溃。 大量的只用和测试,看什么地方出现了异常,为什么导致异常的出现。2、优化程序的代码,最起码可读。3、程序慢,有个监控的手段。慢在什么地方。原创 2012-09-12 16:28:36 · 676 阅读 · 0 评论 -
Android的进程优先级与进程回收
最近写了一个后台服务程序,大多数情况下都能正常运行,但在系统内存出现不足时,还是会被Android的low memory killer杀掉,在网上搜了下,找到了如下的解决方法:完全让进程不被kill是不可能的,我们可以通过一些操作, 使进程被kill的几率变小:1 提高进程的优先级:后台操作采用Service形式,因为一个运行着service的进程比一个运行着后台activity的等级转载 2012-09-19 18:13:26 · 3541 阅读 · 0 评论