
android app
文章平均质量分 94
thinkinwm
Do not pray for easy lives. Pray to be stronger men.
展开
-
Android 签名机制 v1、v2、v3
都到2020年了,Android 签名机制 v1、v2、v3你懂什么意思嘛!https://zhuanlan.zhihu.com/p/130394904什么是签名?要想知道签名是什么,先来看为什么需要签名 ?了解 HTTPS 通信的同学应该知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改。在安装 APK 时,同样需要确保 APK 来源的真实性,以及 APK 没有被第三方篡改。如何解决这两个问题呢?方法就是开发者对 APK 进行签名.转载 2021-04-29 16:59:34 · 549 阅读 · 1 评论 -
启动浏览器
本文参照自:http://blog.youkuaiyun.com/liws2010/article/details/7452957一、启动android默认浏览器在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。关于Intent的更多内容请参考《常用Intent》示例1转载 2013-02-16 15:25:45 · 1361 阅读 · 0 评论 -
Android内存泄漏简介
http://hubingforever.blog.163.com/blog/static/17104057920113297362974/前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的ja转载 2013-02-16 15:18:25 · 344 阅读 · 0 评论 -
SurfaceView和View区别
SurfaceView和View最本质的区别在于,surfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。那么在UI的主线程中更新画面 可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。当使用surfaceView 由于是在新的线程中更新画面所以不会阻塞你的UI主线程。但这也转载 2012-12-21 15:30:23 · 408 阅读 · 0 评论 -
Android Activity生命周期管理
http://blog.youkuaiyun.com/thl789/article/details/6628463本文描述Android中Activity的状态,Activity的状态转换,从而总结了Activity各个生命周期的典型时序。与Android现有框架结合,充分考虑Activity的各个生命周期阶段,应用开发者实现相应的回调接口,只有这样,才能开发出符合框架规范的程序。转载 2013-02-17 17:00:37 · 424 阅读 · 0 评论 -
集成第三方jar, so
遇到过集成第三方so的问题,目的是把so打包进APK中,总结如下:1. 通过Eclipse中集成第三方jar包及so动态库, 这种适合利用sdk编写的应用在工程下创建目录libs以及libs/armeabi,把jar放在的libs/下,把so放在libs/armeabi/下;Projects-》Properties-》Java Build Path-》Librari原创 2013-02-18 21:27:17 · 1041 阅读 · 0 评论 -
android使用到的一些设计模式
http://blog.youkuaiyun.com/dengshengjin2234/article/details/85020971、适配器模式:ListView或GridView的Adapter简介:不同的数据提供者使用一个适配器来向一个相同的客户提供服务。 2、建造者模式:AlertDialog.Builder简介:可以分步地构造每一部分。 3、命令模式:Han转载 2013-03-05 21:42:41 · 778 阅读 · 0 评论 -
uri 基础知识
Content Provider这个东西在Android平台上是最常用的共享数据的方法(似乎应用程序之间共享数据也只有这种方法吧,待求证)。虽然常用,但是这个东 西要理解透彻还是要先掌握一些基础的。URI就是Content Provider(简称CP)的基础。我们要标识一个CP,就必须用URI这个东东。这就类似于我们要通过网址来标识某个特定网站,实际上网址URL本身 就是一种URI。URI全称转载 2012-12-14 16:00:56 · 495 阅读 · 0 评论 -
launch mode
转自 http://blog.youkuaiyun.com/leiswpu/article/details/6248528Defining launch modesLaunch modes allow you to define how a new instance of an activity is associated with the current task. Yo转载 2012-12-18 19:16:36 · 626 阅读 · 0 评论 -
什么时候加上android.intent.category.DEFAULT
In principle, therefore, an Intent object with no categories should always pass this test, regardless of what's in the filter. That's mostly true. However, with one exception, Android treats all imp转载 2013-02-10 10:30:23 · 459 阅读 · 0 评论 -
绑定服务-Bound Services
原文地址:http://developer.android.com/intl/zh-CN/guide/components/bound-services.html绑定服务-Bound Services快速浏览绑定服务允许其他组件绑定它,为了能够与其互动,并执行进程间通信当所有的客户端被解绑时,绑定服务被摧毁,除非那个服务还在运行。转载 2012-11-23 15:38:09 · 609 阅读 · 0 评论 -
android:gravity与android:layout_gravity
本文转载自:http://blog.youkuaiyun.com/dekunchenivan/article/details/6718678#gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧。android:layout_gravity:是转载 2013-02-16 14:57:03 · 342 阅读 · 0 评论 -
Android权限之三共享UID和签名
转自:http://blog.youkuaiyun.com/a345017062/article/details/6236263共享UID安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。转载 2013-02-12 13:02:43 · 435 阅读 · 0 评论 -
获取未安装的APK图标
这是一个JAVA反射的具体实践,实际运行后的结果我这边两种方法都能够获取到icon,不过有所区别:SDK接口获取到的icon带有图标背景(miui等不少第三方ui有在icon加一个透明的方框,这里得到的icon就有方框);通过反射直接获取域得到的icon就是纯粹的icon;另外,从Resource类的构造函数也可以看出,Resource可以 看做是Java层上对资源的抽象代表,转载 2013-02-26 13:41:15 · 642 阅读 · 0 评论 -
如何得到包含隐藏API的Android类库
framework.jar core.jar ext.jar framework-res.apk这篇有提到framework.jar android.jar的区别,涉及到如何调用系统隐藏的API,一般如下办法:1. 直接在Android完整的源码中进行编译2. 使用反射机制,在个别类缺少的情况下比较方便3. 将framework.jar加入到编译环境中去对于第三种办原创 2013-02-21 22:07:43 · 577 阅读 · 0 评论 -
Java反射机制的原理及在Android下的简单应用
转自:http://www.cnblogs.com/crazypebble/archive/2011/04/13/2014582.html花了几天时间,研究了一下Java的反射机制。在这里总结一下这几天学习的成果,一来分享自己的学习过程和在学习中遇到的问题,二来是给像我一样不太了解Java反射机制的同学做一个简单的介绍。在文章后面会链接一个Android反射机制的应用程序。转载 2012-11-27 15:37:31 · 602 阅读 · 0 评论 -
Intent flags
intFLAG_ACTIVITY_BROUGHT_TO_FRONTThis flag is not normally set by application code, but set for you by the system as described in the launchMode documentation for the singleTask mode. 这个标志一般转载 2013-03-07 11:18:36 · 676 阅读 · 0 评论 -
android framework 四层结构图
这个图将Hardware abstract layer 独立出来了~~转载 2012-12-14 21:40:52 · 2222 阅读 · 1 评论 -
AsyncTask
AsyncTaskextends Objectjava.lang.Object ↳android.os.AsyncTaskClass OverviewAsyncTask enables proper and easy use of the UI thread. This class allows to转载 2013-03-01 23:47:25 · 422 阅读 · 0 评论 -
HandlerThread使用实例
HandlerThread1. Override Runnablepublic class LauncherModel extends BroadcastReceiver { ...... private LoaderTask mLoaderTask; private static final HandlerThread sWorke原创 2013-03-01 23:34:07 · 714 阅读 · 0 评论 -
资源文件
http://www.cnblogs.com/duguguiyu/archive/2010/05/02/1726069.html作为一枚coder,做界面,很多时候都是一场梦魇。很多时候,我们会感觉对于底层逻辑实现的很有把握性,哪怕需求一直在变,也可以通过不断的重构一直跟进,一切尽在掌握。但遭遇界面,往往就不再如此,它的好坏总是和审美、体验之类的词汇扯在一起,在凤姐芙蓉出没的年头,谈审转载 2013-03-14 17:05:09 · 556 阅读 · 0 评论 -
android中的category
CATEGORY_ALTERNATIVE 设置这个activity是否可以被认为是用户正在浏览的数据的一个可选择的action;有时你可能希望通过一个菜单项使用Intent启动一个activiry(不论这个activit在你自己的程序中还是在另一个程序中 ).如果你知道了需要的Intent,你可以在响应对应菜单项的回调方法中执行Intent的startActivity()方法完成.转载 2013-04-01 22:19:07 · 1211 阅读 · 0 评论 -
使用PreferenceActivity和PreferenceScreen构建应用的设置
对于每个应用程序来说,都要有一些属于用户自己的设置,满足不同需求。当我们点击menu时,如下: 点击settings时,出现: 那么这样的效果是怎么实现的呢?我只是来个简单介绍,给自己做备忘,也是给大家点思路吧。在android的路上,我们一起努力吧。这里我们仅说第二个图片效果的实现,第一个图片的效果,想必大家都会了,就是使用menu类的几个方法就可以了。转载 2013-04-01 22:37:15 · 606 阅读 · 0 评论 -
Android 4.0 Launcher源码详细分析 傻蛋
http://wenku.baidu.com/view/80e280e2998fcc22bcd10dcd.html转载 2013-04-03 09:11:56 · 795 阅读 · 0 评论 -
Android ViewPager多页面滑动切换以及动画效果
http://www.cnblogs.com/dwinter/archive/2012/02/27/2369590.html一、首先,我们来看一下效果图,这是新浪微博的Tab滑动效果。我们可以手势滑动,也可以点击上面的头标进行切换。与此同方式,白色横条会移动到相应的页卡头标下。这是一个动画效果,白条是缓慢滑动过去的。好了,接下来我们就来实现它。 二、在开始前,我转载 2013-04-03 16:12:53 · 615 阅读 · 0 评论 -
创建自定义控件4-优化
现在你有一个设计好的,对手势和状态之间的转变做出反应的view,你需要保证view能快速的运行。在播放期间,为了避免UI界面感觉呆滞和不连贯的问题,你必须保证你的动画速率始终在60帧/秒上一直运行着。降低刷新频率为了提高view的运行速度,减少来自于频繁调用的程序的不必要的代码。从onDraw()方法开始调用,这会给你带来最好的回报。特别地,在onDraw()方法中你应该减少冗转载 2013-04-04 22:03:01 · 661 阅读 · 0 评论 -
创建自定义控件1-创建一个视图类
http://wiki.eoe.cn/page/Creating_a_View_Class一个设计良好的自定义view和其他设计良好的类很像。封装了某个具有易用性接口的功能组合,这些功能能够有效地使用CPU和内存,并且十分开放的。但是,除了开始一个设计良好的类之外,一个自定义view应该:符合安卓标准提供能够在Android XML布局中工作的自定义转载 2013-04-04 21:34:51 · 565 阅读 · 0 评论 -
创建自定义控件2-自定义绘制
自定义视图最重要的部分是它的外观.你可以根据应用的需求简单或复杂的实现它. 这个教程包含了最常见的操作.重写onDraw()绘制自定义视图里最重要的一步是重写onDraw()方法. onDraw()的参数是视图可以用来绘制自己的Canvas对象. Canvas定义用来绘制文本、线条、位图和其他图像单元. 你可以在onDraw()里使用这些方法创建你的自定义用户界面(UI).转载 2013-04-04 21:51:07 · 677 阅读 · 0 评论 -
创建自定义控件3-可交互性
绘制UI仅仅是创建自定义视图的一部分。除此之外,你还需要以一种非常接近现实世界行为的方式来响应用户的输入。所有的对象都应该表现得像现实世界的对象那样。例如,图片不应该突然消失后又出现在别的地方,因为现实中的物体是不会那样的。合乎情理的做法是它应该从一个位置移动到另一个位置。 用户要么体验到UI中精细的操作,要么仅仅感觉到只是界面,相比较而言前者模拟的现实世界会获得最好的用户体验。例如,当用户在操作转载 2013-04-04 22:02:26 · 559 阅读 · 0 评论 -
Launcher介绍总结
http://blog.youkuaiyun.com/ldinvicible/article/details/8488126一、主要文件和类 1.Launcher.java:launcher中主要的activity。 2.DragLayer.java:launcher layout的根view。DragLayer实际上也是一个抽象的界面,用来处理拖动和对事件进行初步转载 2013-04-05 11:19:54 · 1186 阅读 · 0 评论 -
对View进行截图 View.getDrawingCache return NULL
一般对View进行截图可以: view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap shotCut = Bitmap.createBitmap(view.getDrawingCache()); view.setDrawingCacheEnabled(false);但是有时会遇到getDr转载 2013-04-06 15:58:01 · 1311 阅读 · 0 评论 -
Using Touch Gestures 》Managing Touch Events in a ViewGroup
andling touch events in a ViewGroup takes special care, because it's common for a ViewGroup to have children that are targets for different touch events than the ViewGroup itself. To make sure t转载 2013-04-06 16:40:31 · 541 阅读 · 0 评论 -
Using Touch Gestures 》Tracking Movement
This lesson describes how to track movement in touch events.A new onTouchEvent() is triggered with an ACTION_MOVEevent whenever the current touch contact position, pressure, or size changes. A转载 2013-04-06 17:15:36 · 648 阅读 · 0 评论 -
Using Touch Gestures 》Detecting Common Gestures
A "touch gesture" occurs when a user places one or more fingers on the touch screen, and your application interprets that pattern of touches as a particular gesture. There are correspondingly two phas转载 2013-04-06 17:18:08 · 717 阅读 · 0 评论 -
Using Touch Gestures 》Handling Multi-Touch Gestures
A multi-touch gesture is when multiple pointers (fingers) touch the screen at the same time. This lesson describes how to detect gestures that involve multiple pointers.Track Multiple Pointers转载 2013-04-06 17:20:29 · 810 阅读 · 0 评论 -
Android中集成第三方软件包(.jar, .so)
转自:http://blog.youkuaiyun.com/thl789/article/details/7918093Android中可能会用到第三方的软件包,这包括Java包.jar和Native包.so。jar包既可通过Eclipse开发环境集成,也可通过编译源码集成,看你的工作环境。 假定自己开发的程序为MyMaps,需要用到BaiduMaps的库,包括baidum转载 2012-11-24 21:31:48 · 685 阅读 · 0 评论 -
android中生成和使用jar
参考资料1: http://blogold.chinaunix.net/u/9577/showart_1826330.html Export LibraryPrepare source codeCreate an Android projectCreate source code, and fix all bugRemove res/*Remove unuse转载 2013-03-24 17:09:07 · 636 阅读 · 0 评论 -
Android 唯一识别码
本文转载自:http://blog.youkuaiyun.com/billpig/article/details/6728573我们在项目过程中或多或少会使用到设备的唯一识别码,我们希望能够得到一个稳定、可靠的设备唯一识别码。今天我们将介绍几种方式。 1. DEVICE_ID假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。在以前,我们的Andr转载 2013-03-24 19:42:03 · 775 阅读 · 0 评论 -
android ViewFlipper的使用
http://blog.sina.com.cn/s/blog_78e3ae430100py4p.html屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。通过查看OPhone API文档可以发现,有个android.widget.ViewAnimator类继承至Fra转载 2013-04-12 09:17:06 · 563 阅读 · 0 评论 -
FrameLayout
public classFrameLayoutextends ViewGroupjava.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.widget.FrameLa转载 2013-04-12 14:51:40 · 627 阅读 · 0 评论