- 浏览: 1321040 次
- 性别:
- 来自: 深圳
最新评论
-
我说123木头人雪雪:
...
Android截屏并对图片做高斯模糊处理 -
ysc123shift:
没有源码。
Android截屏并对图片做高斯模糊处理 -
我de专属doll:
你那个Jni库是自己编译的还是有现成的呢?
Android media媒体库分析之:分类别统计媒体文件大小 -
zhunanfengfeimeng:
想做项目经理?这些工具必须了解 -
ls0609:
一个带人脸识别的智能照相机demohttp://blog.cs ...
Android 调用相机,获取的图片太小
文章列表
作为一个项目经理,或有志成为项目经理的程序员,工具可以帮我们节省很多时间,用更好的效果推进项目;下面结合我在项目中使用的工具,做一个总结:
项目经理在带项目过程中必备的一些工具,下面列的一些工具偏技术管理:
一、office:
1、Word:最基础的办公软件,项目内部沟通,项目交付等项目中各类文档编写都要用Word实现,如:需求文档、设计文档;要掌握的功能如:排版、绘图、目录、封面等等。
2、Excel:更擅长于有规律数据的处理,如:报表、统计表等;项目中如:bug统计表、项目情况分析表等等;
3、PPT:擅长于演示,如:项目情况内部汇报、客户汇报等,结合各类图形、表格、流程等内容;
二、建模 ...
[置顶] Android零碎知识总结
- 博客分类:
- 知识梳理
1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。
所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高性能,适用于以读为主的情况。
参考:http://my.oschina.net/jielucky/blog/167198
2、include标签:如果include中设置了id,那么就通过include ...
用Android studio可以很方便的完成代码的测试工作,比之前在Eclipse里面做测试方便多了,下面简单总结一下:
一、创建测试目录结构:
一般在工程根目录下创建androidTest文件夹,里面按照src包名结构创建目录,然后就可以创建测试文件了,如图:
也可以在module的build文件进行指定测试路径:
androidTest {
java.srcDirs = ['androidTest/java']
assets.srcDirs = ['androidTest/assets/']
} ...
一、base cmd
1、挂载文件系统:mount -o remount /dev/block/mtdblock0 /system
2、拷贝文件:cp /storage/emulated/legacy/a.apk /system/app/a.apk
3、启动指定APP:adb shell am start -n com.test.shellsample/com.test.shellsample.MainActivity
4、修改文件夹及子目录权限:chmod -R 777 data
二、studio
1、装箱打包生成APK:gradlew assemble
三、Android W ...
SoundPool使用总结
- 博客分类:
- Media媒体库
一、与MediaPlayer的对比:
SoundPool适合短且对反应速度比较高的情况(游戏音效或按键声等),文件大小一般控制在几十K到几百K,最好不超过1M,可以与MediaPlayer同时播放,SoundPool也可以同时播放多个声音;最终编解码实现与MediaPlayer相同;
MediaPlayer只能同时播放一个声音,加载文件有一定的时间,适合文件比较大,响应时间要是不是非常高的场景;
二、创建:
SoundPool soundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
maxStream —— 同时播放的流的最大数 ...
Android代码混淆常见配置
- 博客分类:
- Android优化
项目发布之前混淆是必不可少的工作,混淆可以增加别人反编译阅读代码的难度,还可以缩小APK包。
一、使用原理:
见:ProGuard的作用、使用及bug分析(http://www.trinea.cn/android/proguard-use/);
Proguard语法及常用proguard.cfg代码段(http://www.trinea.cn/android/proguard-grammar/);
二、使用步骤:
1、修改project.properties文件:
# To enable ProGuard to shrink and obfuscate your code, uncomm ...
Android蓝牙名词解释
- 博客分类:
- Android蓝牙
Android蓝牙部分是很复杂的,也涉及很多名词,下面把我涉及到的一些常用名词做一个简单的解释:
1、a2dp:
蓝牙立体声,和蓝牙耳机听歌有关那些,另还有个avrcp--音频/视频远程控制配置文件,是用来听歌时暂停,上下歌曲选择的。
Android only supports one connected Bluetooth A2dp device at a time. Each method is protected with its appropriate permission.(一次只允许连接一个A2DP设备)
操作类位置:android.bluetooth.BluetoothA2dp
...
Android 蓝牙 UUID分类汇总
- 博客分类:
- Android蓝牙
UUID是“Universally Unique Identifier”的简称,通用唯一识别码的意思。对于蓝牙设备,每个服务都有通用、独立、唯一的UUID与之对应。也就是说,在同一时间、同一地点,不可能有两个相同的UUID标识的不同服务。
在Android手机开发中不必过多考虑这点在这一点,因为几乎没有哪个手机会同时装两块蓝牙芯片。
ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}' BrowseGroupDescriptorServiceClassID_UUID = ...
Android实现主动连接蓝牙耳机
- 博客分类:
- Android蓝牙
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。
蓝牙分不同类型,可以参考(http://gqdy365.iteye.com/admin/blogs/2229304)
可以入下面方法获取蓝牙设备支持的类型:
BluetoothDevice device;
Arrays.toString(device.getUuids());
我的蓝牙音箱支持的类型有:
0000111e-0000-1000-8000-00805f9b34fb:Handsfree
0000110b-0000-1000-8000-00805f9b34fb:AudioSink
0000110e- ...
Android 应用程序开关GPS
- 博客分类:
- 地图相关
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说clean一下,果然有效果;
正常编译之后安装,添加权限了也报错,无法正常运行。
研究之后发现还需要System共享权限,就是:
android:sharedUserId="android.uid.sy ...
Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygote -> 启动java 层的系统服务system_server(包括PowerManagerService, ActivityManagerService , telephony.registry ...
Android 数据库事务处理(转)
- 博客分类:
- 数据库
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事务处理应用:很多时候我们需要批量的向Sqlite中插入大量数据时,单独的使用添加方法导致应用响应缓慢, 因为sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。如初始80 ...
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键 ...
先看一下效果图:
要实现在每个页面显示相同的Title,能想到的办法有:
1、创建单独的xml布局文件,在页面主配置文件中用include标签引入,如果要修改内容,可以再代码中获取View,修改内容;
2、用Android提供的Theme(在新建项目时可选),toolbar ,ActionBarActivity可以实现现在流行的material design,不过ActionBarActivity已经被AppCompatActivity取代了;
3、在1的基础上引入面向对象的思想,抽象出基类Activity(Fragment)。
下面记录一下3的实现过程:
1、新建抽象的Activity ...
Android led灯实现大致流程
- 博客分类:
- Android底层
led灯的控制在http://gqdy365.iteye.com/admin/blogs/2208344中写的方法是直接通过操作led设置来控制灯的开关。这样做的问题是未按Android标准结构实现,可能存在潜在的问题,后面分析的一下灯的源码,原来Android系统里面已经提供的相关的实现。
Android系统标准的led可以通过发送通知来控制led灯,做法如下:
private void notificactionLed() {
NotificationManager manager = (NotificationManager) this
.getSystemSer ...