- 博客(61)
- 资源 (13)
- 收藏
- 关注
原创 LeetCode-简单-回文数
从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。1、倒序原数后,再计算回文数是否相等。是一个回文整数,返回。
2024-07-02 15:16:22
332
1
原创 LeetCode-简单-两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。
2024-07-02 15:14:01
263
原创 Android平台必备技能(一)---进程间通信AIDL接口回调
先回顾一下aidl的使用方法,可以参考上篇介绍的AIDL怎么用,链接如下:Server端:创建aidl接口文件以及数据(Parcelable)文件; 创建service文件,在AndroidManifest中声明action;3、在service文件中添加IxxxInterface.Stub, 以及对应aidl接口实现,例如: private IMediaShareInterface.Stub mIMediaShareMgr = new IMediaShareInterface....
2021-06-21 10:50:03
630
原创 Android平台必备技能(一)---进程间通信AIDL的应用详解
一些必备的背景知识,理解以下知识将有助于编写AIDL通信流程。1. AIDL是什么?AIDL:Android Interface Definition Language,即Android接口定义语言。即Android平台上使用的IDL交互式数据语言,定义了Android平台IPC的模板。2. AIDL的语法?2.1) AIDL文件以 .aidl 为后缀名;...
2019-12-20 11:28:41
991
原创 Effectiv Java读书笔记
第五章 泛型[x]第25条:列表优先于数组因为列表在编译阶段会作安全性检查,而数组在运行时才报异常。不能创建不可具体化的类型的数组,例如E[] = new E[3];[x]第26条:优先考虑泛型使用泛型比使用需要进行转换的类型来得更加安全。[x]第27条:优先考虑泛型方法泛型方法的一个显著特性是,无需明确指定类型参数的值,不像调用泛型构造器的时候必须指定。...
2019-04-29 10:26:19
397
原创 Camera框架简介
最近做了一个和Camera相关的功能,对Camera的框架做了简单分析,记录下来以便后面参考。对Camera有兴趣的同学也可以看看,有不足的地方还请指出。谢谢!
2014-10-24 21:55:03
3452
原创 Effective Java学习笔记---创建和销毁对象
一、考虑用静态工厂方法代替构造器1、静态工厂方法可以直接通过静态方法函数名清楚地表示返回对象;2、使用getInstance返回Singleton实例,使用newInstance每次返回一个新的实例;但是newInstance一般调用无参构造函数,可能会出现IllegalAccessException或者InstantiationException抛出异常。换句话说就是破坏了编译时的异常检
2014-03-28 16:16:08
1075
原创 Android平台Gallery2应用分析(七)---PhotoPage图片解码
PhotoPage图片解码从前文可知,PhotoPage的图片解码始于PhotoPage的onResume()调用updateImageRequests()。先看下代码: private void updateImageRequests() { …… int currentIndex = mCurrentIndex; MediaItem
2013-12-23 16:15:21
6393
2
原创 Android平台Gallery2应用分析(六)---PhotoPage和PhotoView
PhotoPagePhotoPage的几个重要成员:onCreate中创建PhotoView,从传入的mSetPathString区分创建PhotoDataAdapter还是SinglePhotoDataAdapter。如果从相册一级级进入,则创建PhotoDataAdapter,如果从文件管理器进入,则创建SinglePhotoDataAdapter。以从相册进入为例:1)
2013-12-23 10:50:52
7986
原创 Android平台Gallery2应用分析(五)---AlbumPage和DataManager
AlbumPageAlbumPage的代码流程类似于AlbumSetPage。详细流程图这里就不做详细绘制了。下面列出关键成员:由于代码流程和AlbumSetPage类似,这里不做特别说明,下面主要对DataManager如何管理数据做分析。从BitmapLoader(如AlbumSetPage中的AlbumCoverLoader、AlbumLabelLoader以及Album
2013-12-23 10:44:06
5058
原创 Android平台Gallery2应用分析(四)---AlbumSetPage
AlbumSetPageAlbumSetPage的几个重要成员,如图:AlbumSetPage刷新AlbumSet,每个看到的相集都是SlotView。而SlotView主要由TiledTexture和label组成。如图:简单的说,SlotView的绘制过程为:SlotView::render(…) -> renderItem() -> AlbumSetSlotR
2013-12-23 10:23:44
6266
1
原创 Android平台Gallery2应用分析(三)---StateManager和AbstractGalleryActivity
StateManagerStateManager中有个Stack mStack,类似于ActivityManager中的ActivityStack。用于控制相册界面的窗口堆栈管理,成员为StateEntry类。再看startState这个函数: public void startState(Class klass, Bundle data) {
2013-12-23 10:14:06
4736
3
原创 Android平台Gallery2应用分析(二)---线程池及应用入口分析
ThreadPool先看成员变量Executor mExecutor。线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。用线程池来管理的好处是,可以保证系统稳定运行,适用与有大量线程,高工作量的情景
2013-12-23 10:05:18
4973
3
原创 Android平台Gallery2应用分析(一)---背景知识
欢迎转载和技术交流,转载请帮忙注明出处,谢谢!http://blog.youkuaiyun.com/discovery_by_josephAndroid系统概括来讲可分为GUI、多媒体以及网络相关三个部分,在学习了GUI部分如何去编写应用外,多媒体系统是接下来重点分析掌握的重点。本文着重介绍Android中的Gallery2应用以及该应用的框架设计。概要:本文先对Gallery2中涉及
2013-12-23 09:51:15
5458
2
原创 Android平台Bitmap缓存为文件
如何将gif等图片格式在解析过程中解码得到的Bitmap转存为图片呢?Bitmap.java中提供了compress的方法,可以将Bitmap转换成文件,与BitmapFactory.java中的decodeStream方法相对应。下面是这两个方法的函数原型:public static Bitmap decodeStream(InputStream is);public boolean co
2013-11-15 10:21:25
1883
原创 Java中线程池的学习
Java语言中线程池的概念是在Java5线程新特征中扩展的,可以帮助编写高效稳定可靠的多线程程序。线程池的基本思想是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。
2013-09-26 18:27:14
1860
1
原创 Repo和Git 版本管理常用命令总结
1. 服务器版本下载:1、repo init -u ssh://xxx/platform/manifest.git -b branch-name2、repo sync3、repo start branch-name --all或者:git clone ssh://xxx.gitgit checkout -b branch-name
2013-09-24 17:02:14
1803
转载 Android stagefright与opencore对比
原文出自:http://disanji.net/2011/08/31/android-stagefright%E4%B8%8Eopencore%E5%AF%B9%E6%AF%94/1引言Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-
2013-09-22 11:25:10
2077
原创 Android图片异步加载的方法
很多时候,我们在加载大图片或者需要处理较多图像数据的时候,希望显示效果能好点,不至于因为图片解码耗时产生ANR等情况,不得不说异步加载是个不错的方法。说到异步加载,避免application出现ANR情况,我们一般都是另起线程,不占用Main Thread,这样就能避免ANR情况产生。常用的异步方法有:AsyncTask,HandlerThread,Activity.runOnUIThre...
2013-09-14 17:20:06
4818
原创 如何自定义GridView的元素
之前有写过一篇博客《GridView应用》,简单的介绍了使用GridView的方法,由于使用的是SimpleAdapter,因此,无法自定义每个GridView元素的内容,例如:每项GridView Item都显示图片以及图片介绍,介绍文字显示在图片下方,上方等位置,当然也可以做到显示在图片底部,其实关键还是在Adapter的使用上,只需要自定义一个Adapter继承自BaseAdapter即可。
2013-09-14 11:24:50
2595
原创 ListView的adapter性能优化
我们常用ListView,甚至GridView的编写方式也与ListView非常类似,而且GridView往往加载图片,性能问题尤为明显。在ListViewAdapter中使用convertView以及ViewHolder,能提升ListView的性能。在Adapter中,我们关注比较多的就是getCount()和getView(),getCount()就是计算ListView的个数的,比较简
2013-09-12 11:56:18
1355
原创 百度地图API开发的定位APK
之前看过Location的app及framework代码,下面贴个简单的定位程序,以供大家交流,使用百度地图SDK开发的,引用了百度地图的so库文件。效果图如下:package com.baidumap.location;import android.app.Activity;import android.content.Intent;import android.os.B
2013-08-29 11:33:04
2518
转载 Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html简介: JDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择。例如, java.util.concurrent.lock 中的类 ReentrantLock 被作为 Java 语言中 synchronized 功能的替代,它具有相同的内
2013-08-27 11:29:11
1311
原创 常用设计模式概览
Abstract Factory提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。Adapter将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。Bridge将抽象部分与它的实现部分分离,使得同样的构建过程可以创建不同的表示。Chain of Responsibi
2013-08-15 15:14:46
850
原创 如何动态刷新ListView的显示---notifyDataSetChanged
我们在使用ListView的时候,可能会碰到需要动态改变ListView的显示的情况。比如说在ListView后面加一个Button,点击Button后,就重刷ListView将该List Item去掉,怎么实现呢? 可以用notifyDataSetChanged。 简单举例,我们想要列出系统中部分ACTION的Application,然后列举出所有应用后,在Lis
2013-08-12 12:01:29
2330
原创 ScrollView和ListView冲突问题解决
最近在开发一个应用时用到了ScrollView和ListView,想在ListView上再放一个小的标题栏分割,然后整体超出屏幕后又能滚动显示。但是,在跟踪过程中发现,我们自己设置了ListViewAdapter后,getView(int position, View convertView, ViewGroup parent)函数虽然一直在调用,position却一直是0。然后在显示界面只能看到
2013-08-12 11:34:26
6912
原创 Android自定义Button点击效果
Button往往在layout布局文件中添加,Button的背景色如果不做特殊修改,默认是灰色的,看起来很丑。那如何自定义Button的背景以及点击效果呢?在Button的属性中background属性指定Button背景显示,如果指定一张图片即background="@drawable/btn_img"这样就能以该图片显示背景。如果要在点击Button的时候有点击效果,方法有两种:方法一
2013-08-07 15:17:22
9936
转载 Android各种Color值
#FFFFFF#FFFFF0#FFFFE0#FFFF00#FFFAFA#FFFAF0#FFFACD#FFF8DC#FFF5EE#FFF0F5#FFEFD5#FFEBCD#FFE4E1#FFE4C4#FFE4B5#FFDEAD#FFDAB9#FFD700#FFC0CB#FFB6C1#FFA500#FFA07A#FF8C00#FF7F50#FF69B4
2013-08-07 14:43:00
973
原创 SQLiteOpenHelper在query得到Cursor返回值异常问题探究
最近开发的一个功能会用到SQLite,碰到一个问题,纠结了整整一个下午,终于找到原因,记录一下。 功能很简单,创建了一个自定义的ListView,在每个ListView中都对应有一个Button,而该Button需要有个状态记录Button使用情况,比如Enable和Disable。顺利地创建了数据库和自定义ListView,在点击Button时,将ListView对应的信息通过se
2013-07-30 20:26:42
4118
转载 gif图片格式解析
简介:GIF(Graphics Interchange Format)是CompuServe公司开发的图像文件存储格式,1987年开发的GIF文件格式版本号是GIF87a,1989年进行了扩充,扩充后的版本号定义为GIF89a。 GFI图像文件以数据块(block)为单位来存储图像的相关信息。一个GIF文件由表示图形/图像的数据块、数据子块以及显示图形/图像的控制信息块组成
2013-06-19 17:40:26
2351
原创 GPS代码学习---Framework代码学习
Android基于位置的服务,不得不提到andriod.location包,它提供了很方便的API来实现基于位置的服务。和其他android系统服务一样,我们不能直接实例化一个LocationManager,而是通过getSystemService(Context.LOCATION_SERVICE)获取LocationManager实例。在获得LocationManager实例后,我们可以做三件事
2013-05-22 11:56:29
5005
1
转载 《壹百度》- 百度员工内部培训资料
(一)立业1、人一定要做自己喜欢并擅长的事内心的喜好是推动事业进步的最大动力,它能帮你克服困难,坚持到底;而如果你喜欢的事情有很 多,要挑选自己最擅长做的事,这样就能在感受快乐的同时也取得超乎常人的成就。2、认准了,就去做;不跟风,不动摇认准了,就去做讲的是判断力和行动力——要正确地判断形势与机会,一旦看准了,就要付诸行动,患得患失只能坐失良机;不跟风,不动摇讲的是远见与定力—
2013-05-10 10:46:56
1090
原创 GPS代码学习 --- 设置菜单
一、GPS在设置中的代码。 节前看了一小部分GPS设置部分代码,对应手机菜单中“设置\位置信息访问权限”,参考代码LocationSettings.java, AgpsEpoSettings.java, CustomSwitchPreference.java。该设置菜单使用SettingsPreferenceFragment(继承自preferenceFragment)实
2013-05-07 18:11:12
3025
原创 待机窗口小部件的编写流程---时间小部件
时间小部件在很多android智能机上都很常见,本篇主要通过介绍时间部件的编写流程,介绍在待机上显示小部件的方法,先来张图。在不了解Launcher上如何显示窗口小部件之前,我们暂时分步骤完成小部件的编写,完成后再找机会做深入研究。第一步、配置AndroidManifest.xml。我们需要为小部件编写一个TimeWidgetProvider继承自AppWidgetPr
2013-03-28 09:56:10
1571
原创 Android-Handler, Thread, Runnable的简单应用
Runnable:Represents a command that can be executed. Often used to run code in a different Thread.一、既然Runnable和Thread有关,我们先实现Runnable类,在需要执行的过程中,创建一个Thread出来。在Thread调用start()方法后,会执行调用Runnable对象中的ru
2013-03-25 15:13:18
1196
转载 Android各种基础知识(二)
Android常用命令(转载)原文出处:http://my.eoe.cn/863210/archive/1089.html?f_section=hot1.android:对你只要输入android就会出来,SDK and AVD manager我们可以更新SDK,增删修改AVD.效果如下图:2.android list avds:
2013-03-20 14:07:42
847
精通ANDROID 3.part3
2012-12-08
精通ANDROID 3.part2
2012-12-08
精通ANDROID 3.part1
2012-12-08
PERL编程24学时教程
2012-12-08
android系统原理及开发要点详解_韩超_梁泉.part2
2012-12-04
android系统原理及开发要点详解
2012-12-04
深入理解Android+卷I
2012-12-04
学习bash(第二版)中文版.pdf
2012-11-26
GNU make中文手冊.pdf
2012-11-12
ARM体系结构与编程.pdf
2012-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人