- 博客(45)
- 资源 (4)
- 收藏
- 关注
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-07-20 17:04:31
528
转载 开发一流的 Android SDK: Fabric SDK 的创建经验
原文地址:https://realm.io/cn/news/oredev-ty-smith-building-android-sdks-fabric/Twitter 的 Fabric 是知名的注重质量的 SDK,并已部署在数十亿的设备。在这次 Øredev 演讲中,来自 Twitter 的 Ty Smith,揭示了 Fabric 团队创建他们 Fabric 的各种原则,特别是在 Android
2016-06-03 17:47:25
6217
转载 android检测apk及dex方法数
原文:http://www.jianshu.com/p/366b3ae72be6随着项目越来越大,android应用不得不面对64k方法数限制的问题,说真的,这个问题很头疼,虽然网上已经有了多种解决方案,multidex,dynamicApk,代码混淆,业务逻辑用c实现然后用jni调用等等,dynamicApk需要工程模块化,高度解耦,修改量极大;代码混淆,已经做了,治标不治本;业务逻
2016-05-12 11:30:02
3157
转载 ClassyShark - APK 分析利器
原文:http://gold.xitu.io/entry/56d26637a633bd00547a9cc9?utm_source=leopost&utm_medium=20160306&utm_campaign=weibo我们薄荷技术部有个规定,除了每周三的「技术之夜」之外,每周都要至少写一篇技术分享,因此我们技术部每个人都有自己的博客。至于我们Android内部,为了鼓励我们团队
2016-05-12 11:22:15
536
转载 ListView源代码分析
继承关系1、UML图图中单独画出Scrollview是为了说明该ViewGroup并没有自带回收机制,如果要是Scrollview显示大量view,需要手动做处理。2、继承体系的分工(1) AdapterViewAn AdapterView is a view whose children aredetermined by an {@li
2015-12-22 09:10:51
605
转载 GenyMotion安卓虚拟机安装步骤
GenyMotion:需要VirtualBox,安装后可以选择机型,这个应该是Android for x86的一个改进版虚拟机,在原版的基础上针对不同机型用了和原机型同样的GUI,但是发现缺少了Google的框架(play store,google+,gmail, etc)。很巧的是,我正好搜到一篇帖子,了解到安卓程序不能正常运行,是因为x86安卓缺少了ARM-->x86映射,并提供了解决问题的补
2015-12-21 16:13:44
13221
转载 Android开发资料:Android启动优化解析
新闻《谷歌开始推送Android 6.0.1 优化性能为主》 :虽然不少手机尚未升级至安卓6.0系统,但是安卓6.0.1却来了。近日,谷歌已经开始推送Android 6.0.1,本次更新的幅度并不大,将会主要以修复bug和优化性能为主,并且此次更新不会改版Android系统的版本号,而包括Nexus 5x、Nexus 6P最新的系统版本依然是Android 6.0。《微软开发Andro
2015-11-26 14:56:14
677
转载 Field(示例,出错代码)
java.lang.reflect类 Fieldjava.lang.Object java.lang.reflect.AccessibleObject java.lang.reflect.Field所有已实现的接口:AnnotatedElement, Memberpublic final class Fieldextends AccessibleObje
2015-09-25 18:43:26
1051
转载 对象锁或内部锁
1.理解synchronized首先需要明确以下概念:什么是监视器:this,或者someclass.class。什么是对象锁:this可以看做是java.lang.object的实例,someclass.class可以看做是java.lang.class的实例,因为jvm内部为每个这样的实例都关联一个锁,所以把这样的内部锁称为对象锁。区别class类的实例和类的实例: j
2015-09-10 18:55:02
1093
转载 Ubuntu 安装mysql和简单操作
ubuntu上安装mysql非常简单只需要几条命令就可以完成。 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev 安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成
2015-08-09 19:21:00
879
转载 一步一步在ubuntu上安装即时通讯服务器-Openfire
1.首先登录到ubuntu server。在安装openfire 服务器之前,先确保你的系统已经更新到最新。然后输入下面的命令,一行一行执行,最后安装可用的更新sudo apt-get updatesudo apt-get upgrade 2.安装最新版本的Oracle JRE/JDK,使用PPA(personal package archieve)WEBUPD8的
2015-08-09 19:19:53
1214
转载 Android Touch事件分发过程详解
这篇文章主要介绍了Android Touch事件分发过程,详细描述了Android Touch事件的主要处理流程,有助于深入理解Android程序设计,需要的朋友可以参考下本文以实例形式讲述了Android Touch事件分发过程,对于深入理解与掌握Android程序设计有很大的帮助作用。具体分析如下:首先,从一个简单示例入手:先看一个示例如下图所示:布
2015-08-04 15:58:01
763
转载 InputStream 和OutputStream
1.InputStream ◇ 从流中读取数据: int read( ); //读取一个字节,返回值为所读的字节 int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际读取的字节的数量 int read( byte b[ ], int off, int len ); //读取len个字节,放置到以下标off
2014-07-09 11:51:25
598
转载 Android中的Handler机制
直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错 误:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.翻译过来就是:只有创建这个控件的线程才能去更新该控
2014-02-18 23:35:05
590
转载 JAVA 设计模式(Design Patterns)
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真
2014-01-28 16:36:53
1321
转载 android camera 实现3d效果
效果图 其中 图片使用ImageView来展示 50下边其实是个文本框 变形:按钮,点击后 将图片沿着Y轴 旋转文本框 指定的角度。 实现的代码很简单:public class Base3dImp extends Activity{@Overrideprotected void onCreate(Bu
2013-12-10 18:54:50
2522
转载 抽象类和接口的区别
1、抽象类里面可以有非抽象方法但接口里只能有抽象方法 声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中
2013-11-28 22:15:50
585
转载 android之Fragment(官网资料翻译)
Fragment要点Fragment作为Activity界面的一部分组成出现可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的
2013-11-22 11:44:58
1074
转载 onWindowFocusChanged重要作用
转自:http://www.cnblogs.com/lijunamneg/archive/2013/01/19/2867532.htmlActivity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。译注:从onWindowFocusChan
2013-11-21 17:12:26
2922
转载 A ndroid 获取屏幕高度、标题高度、状态栏高度详解
转自:http://www.iteye.com/topic/828830Android获取屏幕高度的方法主要由view提供通过View提供的方法获取高度方式有两种: 1, 当前显示的view中直接获取当前view高宽2,通过Activity的getWindow().findViewById(Window.ID_ANDROID_CONTENT)获取系统当前显示的view根(是
2013-11-21 17:11:27
2055
转载 Android获取屏幕高度、状态栏高度、标题栏高度
在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度,标题栏高度等信息。为以后方便,在此做个简单记录。晒代码前先了解一下android屏幕区域的划分,如下图(该图引用自此文http://www.iteye.com/topic/828830 )1、 屏幕区域的获取[java] view plaincopyactivity.get
2013-11-21 17:00:09
53093
转载 Android:Activity和Fragment生命周期实践
关于活动和片段的生命周期,看了忘、忘了看。一提生命周期,大概一想,似乎明白,仔细一想,似乎不那么明白。索性,一不做二不休,写了个活动加上两个片段,覆盖所有的生命周期方法,打上Log一顿摆弄,直观的东西就出来了。所有的测试包括:1. 从Launcher启动活动2. 按回退键退出活动3. 按Home键将活动切入后台4. 将后台的活动切回前台5. 片段加载6. 片段2替换片段
2013-11-14 10:52:09
4394
1
转载 Android LruCache 缓存图片
使用图片缓存技术在你应用程序的UI界面加载一张图片是一件很简单的事情,但是当你需要在界面上加载一大堆图片的时候,情况就变得复杂起来。在很多情况下,(比如使用ListView, GridView 或者 ViewPager 这样的组件),屏幕上显示的图片可以通过滑动屏幕等事件不断地增加,最终导致OOM。为了保证内存的使用始终维持在一个合理的范围,通常会把被移除屏幕的图片进行回收处理
2013-11-12 14:26:55
1798
转载 为什么要将thread对象post到handler中执行呢?
转载网址:http://www.cnblogs.com/crazypebble/archive/2011/03/23/1991829.html在Android中使用Handler和Thread线程执行后台操作对于线程的控制,我们将介绍一个 Handler类,使用该类可以对运行在不同线程中的多个任务进行排队,并使用Message和Runnable对象安排这些任务。在javadoc中,对H
2013-11-07 21:52:11
550
转载 Android平台Native开发与JNI机制详解
个人认为下面这篇转载的文章写的很清晰很不错. 注意Android平台上的JNI机制使用包括Java代码中调用Native模块以及Native代码中调用Java模块. http://www.ophonesdn.com/article/show/263 众所周知,OPhone平台上的应用开发主要基于Java语言,但平台完全支持且提供了一定的Native开发能力(主要是C/C++),使得
2013-10-27 00:29:56
851
转载 Ubuntu 12.04中文输入法的安装
Ubuntu 12.04中文输入法的安装 Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。安装输入法的第一步,是安装语言包。我们选择System S
2013-10-27 00:27:01
502
转载 Ubuntu 中安装JDK1.6
本文介绍如何在Ubuntu 中安装JDK1.61、首先到这里去下载JDK1.6 Linux 的版本,我下载的是最新的jdk-6u20-linux-i586.bin;如果没有专门的下载工具的话,使用firefox 下载之后会保存在/home/username/下载/ ..中。;2、复制或剪切jdk-6u20-linux-i586.bin 到/home/username/ ...中;(由于本人
2013-10-26 20:04:15
697
转载 Android中Context详解——你所不知道的Context
出处 :http://blog.csdn.net/qinjuning大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法 ; 说它陌生,完全是因为我们真正的不懂Context的原理、类结构关
2013-10-02 23:36:05
910
转载 Javadoc标签介绍
Javadoc注释由Javadoc标签和描述性文本组成,你可以为类、接口添加注释,也可为构造函数、值域、方法等类中的元素添加注释。我们来看一个带Javadoc注释的程序,其代码如下所示: 代码清单 1 Person.java1. package javadoc;2. import java.io.Serializable;3. /** 4. * 描述人对象,拥有两个属
2013-09-28 16:05:08
4829
转载 eclipse查看android源码包(eclipse导入android源码包)
下载对应版本的源码包比如:android-17,下载完后,在对应版本的platforms里新建文件夹sources,将下载好的文件放进去,解压在对应版本的android项目里,右键点击android.jar,然后点击Properties->External Forder->选择以上解压的sources目录(我的:E:/PD/android-sdk_r18-windows/platforms
2013-09-26 21:18:58
2246
转载 Android类参考---Fragment
public final boolean isAdded()如果该Fragment对象被添加到了它的Activity中,那么它返回true,否则返回false。public final boolean isDetached()如果该Fragment已经明确的从UI中分离,那么它返回true。也就是说,在该Fragment对象上使用FragmentTransaction.detach(F
2013-08-31 18:33:08
10974
转载 Activity生命期的代码含义
10.1.8 Activity生命期的代码含义在过去的应用程序开发中,读者大多数已经了解了Activity生命期中的几个主要状态,并知道如何在这些状态中做不同的事情。但多多少少还是存在一些疑惑,比如start和stop状态从代码的意义上来讲,差别到底在哪里。尽管你可能会说:"stop代表了Activity的停止,而start代表了Activity的开始",那么,问题是"开始"和"停止"的差别
2013-08-28 20:37:38
852
转载 Provider概述
Provider概述Content Provider,内容供给源,简称供给源或Provier,Android四类组件之一,用来在不同的application之间共享数据,通常包含两个部分,用别人或被别人用,即调用别人application的Provider或为自己的application创建Provier给别人用。举例来说,系统自有电话薄application就对外提供了ContactsP
2013-08-26 11:35:51
1960
转载 Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对
2013-08-22 11:16:32
498
转载 android进程与线程详解一:进程
当一个应用的组件开始运行,并且这个应用没有其它的组件在运行,系统会为这个应用启动一个新的Linux进程,这个进程只有一个线程.默认情况下,一个应用的所有组件都运行在一个进程和线程(主线程)中.如果一个应用的线程开始运行,并且已经存在这个应用的线程了(因为有这个应用程序的另一个组件已经运行了),于是这个组件就会在这个已有的进程中启动并且运行在同一个线程中.然而,你完全可以安排不同的组件运行于不同的进
2013-08-21 19:24:19
628
转载 Android Application 对象介绍
What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Applicatio
2013-08-21 19:14:39
568
转载 Ubuntu下载Android源代码和内核
一准备工作首先你在自己的电脑上要安装好Ubuntu,然后进行下面的工作,你只需要复制+粘贴就行了1、安装Git工具。Android源代码采用Git工具来管理,与SVN相比,这是一种分布式的源代码管理工具,而SVN是集中式的源代码管理工具。要安装Git工具,在Ubuntu上执行以下命令即可:USER-NAME@MACHINE-NAME:~$ sudo apt-get inst
2013-05-01 15:54:18
541
转载 Ubuntu JDK1.6 安装
1、首先到这里 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html 去下载JDK1.6 Linux 的版本,我下载的是jdk-6u20-linux-i586.bin;2、复制或剪切jdk-6u20-linux-i586.bin 到/home/use
2013-04-30 20:26:31
736
转载 用UltraIso制作U盘启动盘
1. "文件“->"打开”,选择ISO文件2. 选择“启动”-》“写入硬盘镜像”3. 按照以下步骤操作(USB-HDD+),系统会将该设备当做一个HardDisk,而用(USB-ZIP+),系统会将该设备当做一个USB device(UEFI里边对应 USB Storage)(在UEFI安装系统时,要选成 Legacy Only - USB Storage,如果在二
2013-03-30 23:14:53
1825
转载 Android Bitmap一些知识
package com.testbitmapscale; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.
2013-03-22 16:31:03
1374
android仿千千动听酷狗音乐桌面歌词效果Demo
2013-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人