android
nameyuxiang
xiaomi.inc
展开
-
Android深度性能优化--启动优化
应用的启动速度对一个APP来说至关重要,会直接影响到用户体验,如果启动速度过慢会导致用户的流失,本文就启动速度优化分析,为优化启动速度提供一些思路。一、获取启动时间1、adb命令获取启动方式分两种:冷启动和热启动冷启动:应用启动时后台无应用进程,需新创建进程分配给应用,Application会重新创建并执行生命周期;热启动:应用启动时后台已存在应用进程,一般Home键退出...原创 2020-03-03 13:45:18 · 982 阅读 · 0 评论 -
android AsyncTask介绍
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l转载 2014-03-10 09:15:21 · 592 阅读 · 0 评论 -
Android下使用正则表达式
匹配ISBN 号(10位或13位数字)做个笔记:if (checkString(editText.getText().toString())) { Toast.makeText(testRegularExpression.this, "匹配成功", Toast.LENGTH_LONG).show(); }else Toast.make原创 2014-03-10 09:19:39 · 887 阅读 · 0 评论 -
生成android.keystore
按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_07\bin>(jdk的安装目录)目录下(如已配置好环境变量亦可直接输入以下命令,不过生成的文件会在C盘用户的目录下),输入keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore原创 2014-03-13 22:54:06 · 951 阅读 · 0 评论 -
报错:Link of class 'Lcom/.../PersistentConnectionListener;' failed ...VFY: unable to resolve new-insta
解决方法:检查需要的包是否已经导入,如果包都已经导入的话,就对项目的libs之类的文件夹,也就是放要导入的jar包的文件夹右键->build path->use as source folder这样应该就可以解决问题了,再运行一遍试试吧~原创 2014-03-13 14:14:36 · 772 阅读 · 0 评论 -
Android Scroller简单用法
Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。转载 2014-03-13 09:47:53 · 513 阅读 · 0 评论 -
android viewgroup详解(微信5.2滑屏原理)
前言: 虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小 Demo还是just so so的。 友情提示: 在继续往下面读之前,希望您对以下知识点有一定程度掌握,否则,继续看下去对您意义也不大。 1、掌握View(视图)的"视图坐标"以转载 2014-03-13 10:25:13 · 912 阅读 · 0 评论 -
深入理解Android中ViewGroup
文章目录[隐藏]一、ViewGroup是什么?二、ViewGroup这个容器2.1 添加View的算法 2.1.1 我们先来分析addViewInner方法:2.1.2 addInArray2.2 移除View2.3 查询三、onFinishInflate四、测量组件五、onLayout六、ViewGroup的绘制。七、效果图片:转载 2014-03-13 09:52:32 · 1083 阅读 · 0 评论 -
ANDROID application详解与用法
1:Application是什么?Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application转载 2014-03-06 12:48:56 · 650 阅读 · 0 评论 -
android中mainifest的属性讲解
android:allowTaskReparenting 用法 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)—— “true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。 如果这个特性没原创 2014-03-06 15:04:32 · 994 阅读 · 0 评论 -
Android中launchMode四种启动方法详解
Android中launchMode四种启动方法详解 在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载转载 2014-03-06 11:46:12 · 779 阅读 · 0 评论 -
android:inputType参数类型说明
android:inputType参数类型说明android:inputType="none"--输入普通字符android:inputType="text"--输入普通字符android:inputType="textCapCharacters"--输入普通字符android:inputType="textCapWords"--单词首字母大小andro原创 2014-03-07 09:38:47 · 751 阅读 · 0 评论 -
android开源项目和框架
特效:http://www.androidviews.net/http://www.theultimateandroidlibrary.com/常用效果:1. https://github.com/novoda/ImageLoader 异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib。 android-query框架2. h转载 2014-03-07 09:20:42 · 815 阅读 · 0 评论 -
Android dispatchTouchEvent介绍
一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到底是 ViewGroup来处理Touch事件,还是转载 2014-03-10 11:09:13 · 562 阅读 · 0 评论 -
android onNewIntent原理
一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:原创 2014-03-10 10:49:26 · 804 阅读 · 0 评论 -
getRawX(),getRawY(),getX(),getY(),getScrollX(),getScrollY()区别
1、MotionEvent 中的getRawX(),getRawY(),getX(),getY()getRawX(),getRawY():触摸点相对于屏幕的位置 (像素);getX(),getY():触摸点相对于父View的位置(像素);2、View中的getScrollX(),getScrollY()getScrollX()与getScrollY(原创 2017-09-11 10:42:49 · 739 阅读 · 0 评论 -
Android startActivityForResult()和onActivityResult()的用法
目的: A.java 是主界面,B.java 是子功能模块,要从A启动B,B干完活之后把结果汇报给A先看 A.java 的相关代码//-- A.java --///** 要做两件事情,第一是用 startActivityForResult() 启动B,其次是回收B的结果*///启动BIntent bintent = new Intent(A.原创 2015-01-07 11:23:34 · 637 阅读 · 0 评论 -
Android自定义布局
2、创建自定义布局类public class TopBar extends RelativeLayout { //自定义控件原创 2014-12-27 11:07:48 · 955 阅读 · 0 评论 -
android 常见面试题以及答案
1. 请描述下Activity的生命周期。2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3. 如何将一个Activity设置成窗口的样式。(Edited by Sodino)4. 如何退出Activity?如何安全退出已调用多个Activity的Application?5. 请介绍下Android中常用的五种原创 2014-12-09 20:44:38 · 990 阅读 · 0 评论 -
Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
在加载大量数据的时候,经常会用到异步加载,所谓异步加载,就是把耗时的工作放到子线程里执行,当数据加载完毕的时候再到主线程进行UI刷新。在数据量非常大的情况下,我们通常会使用两种技术来进行异步加载,一是通过AsyncTask来实现,另一种方式则是通过ThreadPool来实现,今天我们就通过一个例子来讲解和对比这两种实现方式。 本文原创,如需转载,请注明转载地址http://blog.转载 2014-10-20 16:40:59 · 986 阅读 · 2 评论 -
android避免AlarmManager被kill
在Android中,AlarmManager提供了不受休眠状态的系统定时功能,其一般使用方法如下。1、创建一个BroadcastReceiver类的子类,接收定时器事件:public class MyReceiver extends BroadcastReceiver { ...... } 2、在AndroidMenifest.xml中定义上述广播事件接收类的定义:原创 2014-10-09 20:06:43 · 3729 阅读 · 1 评论 -
AndroidAnimation 详细讲解
一、Animations介绍Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。 二、Animations的分类Animations从总体上可以分为两大类:1.Tweened Animations:该类Animations提供了旋转、移转载 2014-11-11 14:14:59 · 681 阅读 · 0 评论 -
Android 自适应屏幕
以下是Demo首页的预览图一、细说layout_weight目前最为推荐的Android多屏幕自适应解决方案。该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级;纵向布局中,决定的是layout_height的优先级。传统转载 2014-06-30 14:01:11 · 605 阅读 · 0 评论 -
android谈Content Provider的Uri
再谈Content Provider的Uri在上一次学习中,我们谈到了Uri的格式。现在已content://com.wei.android.myproject/card/pin/17为例子,具体解构。1、scheme部分:content://,表明这是个content的Uri,而不是一个http://的网络Uri;2、authority(com.wei.andriod.m转载 2014-03-12 14:08:03 · 874 阅读 · 0 评论 -
Android屏幕切换处理
不进行屏幕切换 由于某些原因,例如游戏,在切换屏幕的过程中,由于动作慢导致游戏失败,我们希望不触发屏幕切换。我们在AndroidManifest.xml中在activity进行设置: android:screenOrientation="portrait" /> 即使我们在layout-land/补充了相关的layout的xml,也不会触发横屏和竖屏的布局的转换。原创 2014-03-11 16:35:04 · 705 阅读 · 0 评论 -
android Intent再研究
什么是Intentintent是对一个操作处理的抽象描述。context可以在使用startActivity(intent)来launch一个actvivity,就如我们在学习笔记(七)中的处理,也是最常用的方式,将activity在我们的应用中整合;可以在通过sentBroast(intent)来广播给任何有兴趣的BroadcastReceiver,可以通过startService(in转载 2014-03-11 15:57:43 · 615 阅读 · 0 评论 -
android整--动态添加UI
我们一般设置UI时通过xml文件设置UI ,但是有时候需要动态的去添加UI插件,比如在购买机票程序中,挑选座位,我们要动态生成一个UI布局。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.lay原创 2013-09-18 21:28:52 · 929 阅读 · 0 评论 -
android整合--UI基本控件Button,ImageButton,EditText,ChcekBox,ToggleButton,RadioButton
写了几个基本控件ButtonImageButtonEditTextCheckBoxRadioGroup和RadioButtonToggleButton下面是代码<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_par原创 2013-09-19 10:19:31 · 906 阅读 · 0 评论 -
android整合--屏幕全屏 屏幕横竖屏设置
全屏在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.Layout原创 2013-09-17 16:40:46 · 757 阅读 · 0 评论 -
android整合--屏幕旋转触发事件
已经知道怎样设置屏幕显示方向,下面看一下屏幕旋转时触发事件。先看main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_原创 2013-09-17 21:15:18 · 1898 阅读 · 0 评论 -
android整合--屏幕组件
Activity(活动)中包含views(视图)和ViewGroups(视图组)。views继承自android.view.viewviews 包括button textview deittext ...viewgroups继承自android.view.viewgroup包括LinearLayoutAbsoluteLayoutTableLayoutRelati原创 2013-09-17 14:35:32 · 811 阅读 · 0 评论 -
android整合--FrameLayout和scrollview
FrameLayout就是屏幕上的一个“定位器”,可以使用它去显示一个单一的视图。被添加到FrameLayout上的视图views总是被固定在这个布局的左上角。考虑以下的代码:[html] view plaincopyxml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://sc原创 2013-09-17 15:23:25 · 5294 阅读 · 0 评论 -
android整合--notification推送通知
到目前为止,想必大家已经都熟悉使用Toast去给用户显示信息了。尽管使用Toast很方便,但是Toast显示的通知并不是永久存储的。它只在屏幕上显示一小段时间,然后就消失了。如果它包含一些特别重要的信息,如果用户没有观察屏幕,那么用户就很容易错过它。对于那些重要的信息,应该采用一种更加持久保存的方法。在这种情况下,应该使用NotificationMnanger(消息管理器)去显示一个长久的信息原创 2013-09-16 19:25:22 · 1273 阅读 · 0 评论 -
android整合--fragment
通常情况下,一个activity可能包含一个或多个fragment,它们协同工作,组成一个连贯的UI界面。在这种情况下,多个fragments之间的通信显得就很重要了。举个例子,一个activity包含左右两个fragment,左侧的fragment包含了一个列表(比如新闻题目列表),当点击每个新闻题目的时候,右侧的fragment就会显示这条新闻的详尽信息。下面展示如何进行操作。Frag转载 2013-09-16 18:25:32 · 731 阅读 · 0 评论 -
android整合--pengdingintent和intent区别
intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadc转载 2013-09-16 19:26:50 · 1043 阅读 · 0 评论 -
android整合--intent
在一个Android应用中可以包含零个或多个Acivity。当你的应用中包含多个Activity时,通常要在各个Activity中间跳转。在Android中,完成这些操作需要使用Intent的组件。下面整合了一下intent的各种应用1 如何通过intent获得另一个activity的数据2 通过intent传递activity之间数据3 通过intent打开手机内置应用程序4原创 2013-09-16 16:32:05 · 816 阅读 · 0 评论 -
android整合--自定义dialog
有的时候,可能需要弹出一个对话框,以便从用户的输入来获取某些确认信息。这种情况下,可以重写Activity基类中的受保护方法(protected)onCreateDialog()。1、创建一个工程testone2、main.xml 两个button 点击显示对话框<LinearLayout xmlns:android="http://schemas.android.com/a原创 2013-09-14 15:50:04 · 675 阅读 · 0 评论 -
android整合--添加监听事件
说一下button的集中加监听事件方式1、匿名内部类 //匿名内部类// btn.setOnClickListener(new View.OnClickListener() {// // @Override// public void onClick(View v) {// // TODO Auto-generated met原创 2013-09-19 09:07:06 · 790 阅读 · 0 评论 -
android整合--progressbar
在做项目时经常会用到进度条,下面写了个进度条例子main.xml 一个进度条和一个文本显示,显示当前进度<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill原创 2013-09-19 11:10:16 · 774 阅读 · 0 评论 -
Android 本机号码的获取
首先我们来明确几个概念: SIM卡存储的数据可分为四类:第一类是固定存放的数据。这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)、鉴权和加密算法等等。第二类是暂时存放的有关网络的数据。如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等。第三类是相关的业务代码,如个人识别码(PIN)、解锁码原创 2013-09-23 20:29:55 · 626 阅读 · 0 评论