- 博客(140)
- 资源 (1)
- 收藏
- 关注
原创 Eclipse 支持gradle
Eclipse 版本: Version: Oxygen.3 Release (4.7.3) Build id: 20180308-1800 是本来就支持的。你需要把写好的gradle文件放到根目录底下,即可。然后右击项目选择(如果没有gradle选项,就在Configure中进行选择,gradle那一项) 此时就会去下载你再gradle.build 中依赖的包...
2018-05-31 10:08:59
1131
原创 AudioRecode和AudioTrack(示例)
package com.txz.test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Arrays;import android.media.Audi
2017-10-12 11:26:13
1509
原创 获取设备序列号
while (true) { try { Class<?> forName = Class .forName("android.telephony.TelephonyManager"); Method[] methods = forName.getMethods()
2017-10-12 11:17:21
1819
原创 JNI学习(一)(c和java层对象互相调用)
c层调用java对象package com.example.bean;/** * * java对象 * @author telenewbie * */public class JNI_cCalljava_test { public static int num = 0; private String name; public static int intMethod(i
2017-10-12 10:18:52
1112
原创 java.lang.NoClassDefFoundError(这只是其中的两种情况)
[crash修复]NoClassDefFoundError:原因:由于导包的时候包名大小写和自己在类里面的时候不一致导致的,找不到, 类com.txznet.music.image.imageLoader.ImageLoaderUtils但是这里面的包是Imageloader(大小写不一致)在release的时候可以正确release出来,但是使用到的时候就出现这样的问题。java.lang.N
2017-09-21 15:00:45
33631
原创 Android性能分析(持续更新)
一:TraceView工具(Android自带工具) 分析CPU的使用 1.使用代码的方式: Debug.startMethodTracing(); Debug.stopMethodTracing();在代码中执行完毕之后再/sdcard/下将产生默认为dmtrace.trace的名称 使用%ANDROID_HOME%/tools/traceview.bat
2017-05-10 17:11:50
432
原创 Android Mediaplayer 工作整理
一、错误码 1.(-38,0) 这个问题是由于在不对的状态底下调用了不该调用的方法。比方说: 在prepareAsyc的过程中在调用start, 在prepare的过程中切换streamType。 在相应的状态下只能调用相应的方法才不会出错。 工作中遇到的情况: 在抢了音频焦点的时候,这时候开始prepareAsync,还没有到达Prepared的状态,
2017-03-17 11:10:36
2600
原创 python 与ADB shell交互
python交互使用subprocess 使设备具有部分Linux命令 python脚本:下载busybox,并且放在与脚本相同的目录下# coding:utf-8# 这个脚本用于使环境拥有busybox的环境import subprocessimport osprint "开始push文件"os.system(" adb push busybox /system/xbin/")pri
2017-03-06 16:15:21
15541
原创 adb shell 小结
学习地址:官网 掘金的学习网站 基于之前对ADB的学习 平时常用的adb命令: adb pull 、 adb push、 adb shell pm list package -3、 adb uninstall、 adb install、 adb devices、 adb shell rm 、 adb shell touch、 adb shell mkdir adb shel
2017-02-05 16:49:10
600
原创 项目使用的架构(MVP,Flux,EventBus,Observer)
一 想来做项目也有好久,一般都是看别人发表文章,自己每日看看就罢了。二 因为项目关系,自己接触到了很多东西,是自己一开始不懂的,比方说:Http网络请求,抓包(wireShark,fiddler,tcpdump),自定义文件格式,输入输出流,音频编解码,自定义Mediaplayer(使用AudioTrack),JNI 三:因为和考拉合作的关系,所以这里记录一下,整个整体框架,这也是我们开始重构
2017-01-08 17:25:22
1441
原创 Android混淆
混淆语法 混淆官网语法链接 Types in descriptors can contain the following wildcards:% matches any primitive type (“boolean”, “int”, etc, but not “void”).? matches any single character in a class name.*matches
2016-12-19 19:39:01
412
转载 Android 屏幕宽高,
屏幕宽高 private Dimension getAreaOne(Activity activity){ Dimension dimen = new Dimension(); Display disp = activity.getWindowManager().getDefaultDisplay(); Point outP = ne
2016-12-19 11:05:41
332
原创 Eclipse ADT插件和主题
又一次重新下载Eclipse 来开发Android 了,突然发现以前的配置都忘记了。 然后我又要各种百度了。不想这样了,所以记录一下用作回顾和备忘。官网下载Eclipse(for android) 此时是不能开发Android的。需要插件ADT 用离线的方式安装的方式更快一点(ADT下载地址) tips:把下载路径复制下来用迅雷下载的速度是直接用浏览器下载的n呗,建议迅雷下载。之后就是安装了
2016-12-17 10:32:39
1290
原创 git初试
git 公钥密钥 Git SSH Key 生成步骤git的使用 git 命令 记得建立链接: git remote add origin https://github.com/tutorialzine/awesome-project.git 这样你才能提交代码到服务器上。git的参考 git相关知识另: 1.git pull 上述命令其实相当于git fetch 和 git mer
2016-12-16 16:10:09
327
原创 2016年12月9日工作总结(JNI问题,AudioTrack之回调,FFmpeg之Seek)
1.这个是今天定位系统Selector.select(long timeout)和select()一样,除了最长会阻塞timeout毫秒(参数)。 没有用处,顾用sleep来替换 Java NIO 系列教程 2.在解码的时候没有调用 avcodec_flush_buffers(pFormatCtx->streams[videoStream]->codec); 导致seek播放的问题 FFmp
2016-12-09 19:27:26
1002
原创 bat 批处理 卸载三方APK
我用到的一些bat 命令以作备忘//实现的功能是:分别输出不同的文件(规律) 一:输出日志adb pull /sdcard/txz/log/text_all D:/logrem for /l %%i in (1,1,10) do adb pull /sdcard/txz/log/text_all_%%i D:/logpauserem 为批处理中的注释for /l /f /r /d 分别对应着不
2016-12-07 21:55:44
2014
原创 windows下编译ffmpeg
http://blog.youkuaiyun.com/xhhjin/article/details/8449251放弃window下的编译(失败) 方式: 1.使用cygwin 的形式 可能原因:ndk 我只下载了windows版本的,导致在脚本调用相应的gcc的时候出现错误,因为这个时候gcc是个exe文件,linux不认的。 2.使用MinGw +msys 的形式 不知道为什么特别慢,还在最后报
2016-11-05 11:11:17
421
转载 ffmpeg 使用示例
ffmpeg 使用示例1) 输出 YUV420P 原始数据 ffmpeg -i test.mp4 test.yuv2) 从视频前10s中提取图像,1s提取一帧 ffmpeg -i test.mp4 -t 10 -r 1 -f image2 pic-%03d.jpeg3) 从视频中提取音频 ffmpeg -i test.mp4 -vn music.mp24) 转换 wav 格式,同时改变其采样率
2016-10-12 16:03:28
620
原创 AAC格式分析(一)
1. AAC的音频文件格式有ADIF & ADTS:以ADTS为例:头信息包含7个字节分别为:syncword 同步字syncword 同步字syncword 同步字 0XFFFprofile 表示使用哪个级别的AAC,如01 Low Complexity(LC)--- AACLCsampling_frequency_index 表示
2016-10-11 21:50:54
831
转载 Java中System.loadLibrary() 的执行过程
System.loadLibrary()是我们在使用Java的JNI机制时,会用到的一个非常重要的函数,它的作用即是把实现了我们在Java code中声明的native方法的那个libraryload进来,或者load其他什么动态连接库。算是处于好奇吧,我们可以看一下这个方法它的实现,即执行流程。(下面分析的那些code,来自于android 4.2.2 aosp版。)先看一下这个方法的c
2015-12-25 14:39:56
2058
转载 枚举类型的单例模式(java)五种
Inspired by Effective Java.Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前知道的,实现单例的方法有两种(下面的A、B)。刚刚在读《Effective Java的时候》学到一种新的更好的方法(E):单元素的枚举类型。同时通过网上资料也知道了其他两种方法(C、D)。最后一种在Java中从1.5版本开始支持,其他语言在验证后说明。A.饿汉
2015-12-12 10:09:03
419
转载 android学习----overridePendingTransition
1 Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。它包括两个部分:一部分是第一个activity退出时的动画;另外一部分时第二个activity进入时的动画;在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition这个函数有两个参数,一个参数是第一个
2015-09-18 16:38:03
460
转载 Glide :一个android平台上的快速和高效的开源的多媒体资源管理库, 提供 多媒体文件的压缩,内存和磁盘缓存, 资源池的接口
Glide 是一个android平台上的快速和高效的开源的多媒体资源管理库, 提供 多媒体文件的压缩,内存和磁盘缓存, 资源池的接口Glide 支持获取,解压展示视频, 图像和GIFs, Glide有一个可弹性的api可以让开发者自定义网络栈技术, 默认使用HttpUrlConnection , 你可以替换为 Google’s Volley或者 OkHttpGlide 开始的目的是
2015-09-07 17:03:51
961
转载 四种方案解决ScrollView嵌套ListView问题
以下文章转自@安卓泡面在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、分析、总结。实际上不光是ListView,其他继承自AbsListView的类也适用
2015-09-06 19:46:45
547
转载 android 设置全屏,窗口透明度,待机设置,主题设置总结
应用设置屏幕全屏:代码设置在Activity oncreate()方法中[java] view plaincopy//隐去电池等图标和一切修饰部分(状态栏部分) this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.F
2015-08-07 19:26:13
1070
转载 ViewPager+GridView显示popupwindow
1.2.1 第一个Item的ImageView显示不全,总是显示一半,其他的Item没有问题,如论怎么设置都没用1.2.2 第一个Item里面设置的点击事件不管用,但是轻轻的滚动一下点击事件立马就生效了。 解决方式: @Override public View getView(int position, View converView, ViewGro
2015-08-06 23:01:00
1162
转载 Android实战技巧:如何在ScrollView中嵌套ListView
前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView。但刚开始的时候,会发现放入的小ListView会显示不完全,它的高度始终有问题。上网查了下,发现别人也有遇到这样的问题,而大多数人都不推荐这样的设计,因为默认情况下Android是禁止在ScrollView中放入另外的ScrollView的,它
2015-08-05 17:32:02
397
转载 FLAG_ACTIVITY_CLEAR_TOP的使用
本例使用FLAG_ACTIVITY_CLEAR_TOP退出整个应用程序:多activity中退出整个程序,例如从A->B->C->D,这时我需要从D直接退出程序。补充:finish()和system(0)都只能退出单个activity。我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在D窗口打开A窗口时在Intent中直接加入标志Int
2015-07-27 15:39:27
1904
原创 ImageLoader配置(注释)
/** * 配置ImageLoader */ private void configImageLoader() { File discCacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "/iWorker/Cache/images"); int me
2015-07-20 20:11:48
753
转载 Android Studio 1.0首次安装遇到的问题,无法下载SDK
相信,在安装Android Studio的过程中会遇到很多问题,特别是第一次启动下载不了sdk.郁闷了吧。可以去官网下载,也可以点击这里下载Android Studio和sdk.一、不下载SDK启动Android Studio给一个解决方法:Android Studio安装目录下的bin,idea.properties;idea.properties文件末尾加一行:disable.an
2015-07-11 13:35:29
527
转载 安装Git
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。要使用Git,第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:在Linux上安装Git首先,你可以试着输入git,看看系统有没有安装Git:$
2015-07-11 12:14:51
722
原创 fastjson,gson的性能比较
fastjson的下载方式,我是使用Androidstudio,使用gradle的方式是:(在build.gradle中添加一条语句)compile 'com.alibaba:fastjson:1.2.4'Maven:dependency> groupId>com.alibabagroupId> artifactId>fastjsonartifactId>
2015-07-01 17:09:02
991
转载 java设计模式之——代理模式
1,什么是代理模式?代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,代理模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以
2015-06-26 18:05:01
696
转载 Java实现的拦截器
拦截器在在流行的开源框架中很常见,依赖的技术就是Java的动态代理。 理解拦截器的核心原理对理解这些开源框架的体系结构至关重要。 下面以一个简单的模型的来说明拦截器的实现的一般方法。 模型分为以下模块: 业务组件:是被代理和被拦截的对象。 代理处理器:实现了InvocationHandler接口的一个对象 代理对象:Proxy对象。
2015-06-26 17:33:28
575
转载 Android Studio编码问题
Android Studio编码问题不同于Eclipse,选中项目右击即会出现"Properties"选项,可以设置项目文件的默认编码,可以根据自己的需要设置为UTF-8/GB2312等编码。但Android Studio的项目设置逻辑与Eclipse有很大的区别,执行的操作为File->Setting->File Encodings然后来进行设置,如图1所示。如果只设置某个文件的编码
2015-06-23 09:48:36
892
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人