随笔 - Andriod

随笔分类 - Andriod

android-4.2.1_r1 Porting PPPoE

摘要: 由于Android已经有pppd(external/ppp/pppd),需要移植pppoe。配置Linux内核, 使能ppp支持 配置:(1)make menuconfig - > Device Drivers -> Network device support,选择如图的ppp选项(如果不行...阅读全文

posted @ 2015-09-17 15:02 blackBox 阅读(86) | 评论 (0) 编辑

Android实用代码大全

摘要: 1、 精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕)public static double getScreenPhysicalSize(Activity ctx) { DisplayMetrics dm = new DisplayMetrics(); ctx.getWi...阅读全文

posted @ 2015-06-20 14:53 blackBox 阅读(314) | 评论 (0) 编辑

Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析

摘要: 前面在介绍Android系统的开机画面时提到,Android设备的显示屏被抽象为一个帧缓冲区,而Android系统中的SurfaceFlinger服务就是通过向这个帧缓冲区写入内容来绘制应用程序的用户界面的。Android系统在硬件抽象层中提供了一个Gralloc模块,封装了对帧缓冲区的所有访问操作。本文将详细分析Gralloc模块的实现,为后续分析SurfaceFlinge...阅读全文

posted @ 2014-11-20 20:28 blackBox 阅读(28) | 评论 (0) 编辑

wpa_supplicant无线网络配置

摘要: 目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口。 wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。请浏览wpa_supplicant网站获得它所支持的驱动列表。另外...阅读全文

posted @ 2014-10-22 17:28 blackBox 阅读(24) | 评论 (0) 编辑

logcat 技巧

摘要: 1.过滤Android程序出现的异常和adblogcat|grep--color=auto-E"System.err|AndroidRuntime"2.按照包名过滤细分日志我们先写一个这样的脚本,命名为logcatPkg,然后加上可执行的#!/bin/bashpackageName=$1pid=`a...阅读全文

posted @ 2014-10-15 13:23 blackBox 阅读(47) | 评论 (0) 编辑

Android Debug

摘要: 我们今天将讨论的是8大你不得不知的Android调试工具,这些工具部分属于系统自带,也是一种方式方法,希望对大家有所帮助。1. 查看当前堆栈1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系2) 方法:new Exception(“print trace”).print...阅读全文

posted @ 2014-10-14 18:04 blackBox 阅读(212) | 评论 (0) 编辑

android编译系统的makefile文件Android.mk写法如下

摘要: (1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)A...阅读全文

posted @ 2014-09-12 15:15 blackBox 阅读(66) | 评论 (0) 编辑

Android-4.2.1_r1_aosp-ethernet porting

摘要: 涉及的文件:(1) 添加Ethernet .mk文件支持build/core/pathmap.mk(2) framwork/base/Android.mkcore/jni/Android.mkethernet/EthernetStateTracker.javaethernet/EthernetMan...阅读全文

posted @ 2014-09-11 15:29 blackBox 阅读(329) | 评论 (0) 编辑

HOWTO: Unpack, Edit, and Re-Pack Boot Images

摘要: Several people have already figured out the details on their own, but I have gotten requests to do a more comprehensive tutorial on how the boot and r...阅读全文

posted @ 2014-08-28 15:30 blackBox 阅读(152) | 评论 (0) 编辑

Build a Custom Android Kernel Guide

摘要: 1、package to install in ubuntu or Debian$ sudo apt-get install -ybuild-essential kernel-package libncurses5-dev bzip22、Prepare Kernel Source and excut...阅读全文

posted @ 2014-08-27 15:35 blackBox 阅读(104) | 评论 (0) 编辑

从android-4.1.2_r1源码上编译Package/apps时不生成odex

摘要: 1、执行编译前选择Lunch目标,这里选择armv7-a-debug。2、执行make是去掉odex命令:makeWITH_DEXPREOPT=false -j16阅读全文

posted @ 2014-08-22 08:55 blackBox 阅读(47) | 评论 (0) 编辑

Android-Adding SystemService

摘要: This wiki page will demonstrate - "How to add system service to android framework". Example - "Adding a Bluetooth HID service" - taken as reference of...阅读全文

posted @ 2014-07-30 17:42 blackBox 阅读(113) | 评论 (0) 编辑

Android 版本信息

摘要: Version nameKey user features addedKey developer features addedRelease dateAndroid market shareAPI LevelAndroid 4.4.4KitKatFix Heartbleed / OpenSSL vu...阅读全文

posted @ 2014-07-25 10:26 blackBox 阅读(55) | 评论 (0) 编辑

Git 初學筆記 - 指令操作教學

摘要: Git 是分散式的版本控制系統, 從架設、簡易操作、設定, 此篇主要是整理 基本操作、遠端操作 等.註: Git 的範圍太廣了, 把這篇當作是初學入門就好了. 注意事項由 project/.git/config 可知: (若有更多, 亦可由此得知)origin(remote) 是 Repositor...阅读全文

posted @ 2014-07-15 15:41 blackBox 阅读(48) | 评论 (0) 编辑

How to Build ffmpeg with NDK r9

摘要: This is a updated post for a previous post, where webuilt ffmpeg 0.8 with Android NDK r5 and r6. This post will give instructions of how to build ffmp...阅读全文

posted @ 2014-04-30 11:18 blackBox 阅读(298) | 评论 (0) 编辑

Android 48个小知识

摘要: 1、判断sd卡是否存在boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);2、TextView部分文字设置颜色TextView tv = ne...阅读全文

posted @ 2014-04-29 11:33 blackBox 阅读(58) | 评论 (0) 编辑

Android Preference存储、res/raw、asset、openFileOutput、sdcard存储、Cache详解

摘要: *res/raw、assets、其它存储的相同点:两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。两者都是只读,是不能存储数据的目录。相同都可以放文件。*res/raw、assets、其它存储的不同点:res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资...阅读全文

posted @ 2014-04-29 10:42 blackBox 阅读(159) | 评论 (0) 编辑

Android之Fragment用法

摘要: 本文翻译自Android developer网站上面,原文参考:Building a Dynamic UI with Fragments当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一个模块。在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面...阅读全文

posted @ 2014-04-29 10:22 blackBox 阅读(155) | 评论 (0) 编辑

对Android开发者有益的40条优化建议

摘要: 下面是开始Android编程的好方法:找一些与你想做事情类似的代码调整它,尝试让它做你像做的事情经历问题使用StackOverflow解决问题 对每个你像添加的特征重复上述过程。这种方法能够激励你,因为你在保持不断迭代,不经意中你学到了很多。然而,当你发布应用时你还要做一些更深入的事情。 从一些...阅读全文

posted @ 2014-04-29 10:14 blackBox 阅读(30) | 评论 (0) 编辑

android 源码下载、编译和测试

摘要: 1、下载和创建=========================官方要求说明===============================A Linux or Mac system. It is also possible to build Android in a virtual machine ...阅读全文

posted @ 2014-04-21 20:31 blackBox 阅读(499) | 评论 (0) 编辑

Configuring USB access under Ubuntu

摘要: First, you don't need root permissions to run ADB if you have set the permissions accordingly. The AOSP site provides examples forConfiguring USB Acce...阅读全文

posted @ 2014-04-21 09:28 blackBox 阅读(195) | 评论 (0) 编辑

高效Android编程

摘要: 假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比、耗电、耗内存。接下来就会得到用户的消极评论,最后名声也就臭了。即使你的应用设计精良、创意无限也没用。耗电或者内存占用等影响产品效率的每一个问题都会影响App的成功。这就是为什么在开发中确保最优化、运行流畅而且不会使Android系统出问题 是至关重要的了。这里不需要讨论高效编程,因为我们不会关心你写的代码是否能够经得起测试。即使高效的代码也是需要时间来运行。今天这篇文章我们就讲讲怎 么尽可能地缩短运行时间,以及如何开发用户喜欢的App。高效地利用线程建议一:怎么在后台取消一些线程中的动作我们知道App运行过程中所有阅读全文

posted @ 2014-04-11 13:51 blackBox 阅读(72) | 评论 (0) 编辑

android 播放Raw文件夹下的音乐文件

摘要: 1、方法一public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mysoundfile); mPlayer.start(); }public void onDestroy() { mPla...阅读全文

posted @ 2014-03-28 14:51 blackBox 阅读(997) | 评论 (0) 编辑

7种形式的Android Dialog使用举例

摘要: 1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。 1 protected void dialog() { 2 AlertDialog.Builder builder = new Builder(context); 3 builder.setMessage("确认退出吗?"); 4 builder.setTitle("提示"); 5 builder.setPositiveButton("确认", new OnClickListener() { 6 @Override 7 public void onClic阅读全文

posted @ 2014-03-28 14:47 blackBox 阅读(53) | 评论 (0) 编辑

Chronometer 计时器使用

摘要: 1 public class TestProject extends Activity { 2 TextView textGoesHere; 3 long startTime; 4 long countUp; 5 6 @Override 7 public void onCreate(Bundle savedInstanceState) { 8 super.onCreate(savedInstanceState); 9 setContentView(R.layout.main);10 11 Chronom...阅读全文

posted @ 2014-03-27 11:08 blackBox 阅读(46) | 评论 (0) 编辑

获取屏幕,适应屏幕

摘要: 几句设置部件适应屏幕: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); expList = getExpandableListView(); metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getM...阅读全文

posted @ 2014-03-26 13:52 blackBox 阅读(45) | 评论 (0) 编辑

android 碎片

摘要: 1、双击退出方法1、 1 rivate int mBackKeyPressedTimes = 0; 2 3 @Override 4 public void onBackPressed() { 5 if (mBackKeyPressed...阅读全文

posted @ 2014-03-25 10:40 blackBox 阅读(190) | 评论 (0) 编辑

安卓开发者必备的42个链接

摘要: 官方网站1、谷歌安卓开发者页面这里是主站点,在这您可以找到一切资源帮助您开始安卓开发。此站包含了很多关于学习基础知识的资源,完整的API引用,以及你开始开发所需的各种工具。此站共分为五个部分:作为初学者,你应该从工具开始,这部分讲解了如何安装安卓SDK。教程为你提供了关于安卓的基本介绍,教给你如何写出你的第一个程序。它包括很多的资源,即便成为高级程序员你仍需阅读这里面的文章。API指南是对于不同API更技术性的手册,在更加深入理解安卓内部工作方面十分有用。参考手册包含关于安卓库的完整的类引用。在Google Services部分你会找到更多库的信息,这些库可以让你连接到Google的服务,例如阅读全文

posted @ 2014-03-22 13:35 blackBox 阅读(47) | 评论 (0) 编辑

自定义TabActivity,TabActivity的美化

摘要: 使用tabhost实现脚下的菜单栏:1.TabActivity的布局 1 6 10 11 12 18 19 25 28 29 35 38 39 40 41 42 49 50 51 View Code分析一下这个文件:1、首先是 ,定义一个tabhost,他需要两部分组成: (1) (2...阅读全文

posted @ 2014-03-22 08:59 blackBox 阅读(94) | 评论 (0) 编辑

返回键、菜单键、home键

摘要: 在Android系统中用来显示界面的组件(Component)为Activity,也就是说只有重写Activity的onKeyDown方法来监控/拦截/屏蔽系统的返回键(back)、菜单键(Menu)及Home键。1、拦截/屏蔽返回键、菜单键实现代码@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键 processExit(); return true; } else if...阅读全文

posted @ 2014-03-20 14:06 blackBox 阅读(160) | 评论 (0) 编辑

Android Bluetooth 配对

摘要: android 配对与取消配对的方法:private void pairDevice(BluetoothDevice device) {try { if (D) Log.d(TAG, "Start Pairing..."); waitingForBonding = true; Method m = device.getClass() .getMethod("createBond", (Class[]) null); m.invoke(device, (Object[]) null); if (D) Log.d(TAG, "Pairing ...阅读全文

posted @ 2014-03-20 09:58 blackBox 阅读(73) | 评论 (0) 编辑

TabHost说明

摘要: TabHost是一个标签窗口的容器。 一个TabHost对象包含两个子元素对象: 一个对象是tab标签集合(TabWidget),用户点击它们来选择一个特定的标签; 另一个是FrameLayout对象,展示当前页的内容 子元素通常是通过容器对象来控制,而不是直接设置子元素的值。 下面结合ApiDemos中的例子来说明TabHost的用法。1、使用的TabActivitypackage com.meng.hellotab;import android.os.Bundle;import android.view.LayoutInflater;import android.widget...阅读全文

posted @ 2014-03-20 08:38 blackBox 阅读(51) | 评论 (0) 编辑

colors.xml

摘要: 1 2 3 #FFFFFF 4 #FFFFF0 5 #FFFFE0 6 #FFFF00 7 #FFFAFA 8 #FFFAF0 9 #FFFACD 10 #FFF8DC 11 #FFF5EE 12 #FFF0F5 13 #FFEFD5 14 #FFEBCD 15 #FFE4E1 16 #FFE4C4 17 #FFE4B5 18 #FFDEAD 19 #FFDAB9 20 #FFD700 21 #FFC0CB 22 #FFB6C1 23 #FFA500 24 #FFA07A 25 #FF8C00 26 #FF7F50 2...阅读全文

posted @ 2014-03-17 17:48 blackBox 阅读(118) | 评论 (0) 编辑

Android 定时任务

摘要: android里有时需要定时循环执行某段代码,或者需要在某个时间点执行某段代码,这个需求大家第一时间会想到Timer对象,没错,不过我们还有更好的选择。一、Timer 实现定时任务Timer timer;void onCreate(){ ......TimerTask task = new TimerTask(){ public void run(){ // 在此处添加执行的代码 } }; timer = new Timer(); timer.schedule(task, 1000);//开启定时器,delay 1s后执行task }void onDest...阅读全文

posted @ 2014-03-07 20:55 blackBox 阅读(1119) | 评论 (0) 编辑

Android Bluetooth UUID field

摘要: ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}' BrowseGroupDescriptorServiceClassID_UUID = '{00001001-0000-1000-8000-00805F9B34FB}' PublicBrowseGroupServiceClass_UUID = '{00001002-0000-1000-8000-00805F9B34FB}'#蓝牙串口服务 SerialPortServiceClass阅读全文

posted @ 2014-03-03 09:07 blackBox 阅读(185) | 评论 (2) 编辑

Genymotion shell

摘要: Genymotion provides a shell that enables you to script the modification of sensor states. Command line options -h: print help -r ip_address: connect to specific Genymotion virtual device ...阅读全文

posted @ 2014-02-28 09:47 blackBox 阅读(1975) | 评论 (0) 编辑

Android Intent 总结

摘要: 1、调用拨号程序:1 // 给移动客服10086拨打电话2 Uri uri = Uri.parse("tel:10086");3 Intent intent = new Intent(Intent.ACTION_DIAL, uri);4 startActivity(intent);2、调用彩信或短信: 1 // 给10086发送内容为“Hello”的短信 2 Uri uri = Uri.parse("smsto:10086"); 3 Intent intent = new Intent(Intent.ACTION_SENDTO, uri); 4 inte阅读全文

posted @ 2014-02-19 09:19 blackBox 阅读(111) | 评论 (2) 编辑

猜你喜欢

转载自blog.csdn.net/uunubt/article/details/81533189