- 博客(24)
- 资源 (5)
- 收藏
- 关注
原创 OTA升级常见问题及流程
OTA升级1.日志查看2. SELinux权限QA2.1示例一:2.2示例二:2.3注意2.4关闭SELinux权限检查3.升级包制作3.1整包3.2差分包4.升级包上传&升级任务建立5.版本校验&升级包下载6.升级流程其他升级方式1.通过Recovery SD卡方式2.通过Android adb命令方式 1.日志查看 通过查看recovery日志分析问题 通过adb shell logcat -v time >upgradelog.txt,输出升级过程日志,查看问题卡在何处。 通过a
2021-07-27 14:25:22
2873
原创 Android Red5视频通讯第四篇:推流
AndroidRed5视频通讯第四篇:推流 1.布局视频预览 <com.xxx.xxx.WechatCameraView android:id="@+id/wechat_cameraview" android:layout_width="79px" android:layout_height="106px" an...
2019-12-13 16:47:50
422
原创 Android Red5视频通讯第三篇:视频数据采集
Android Red5视频通讯第三篇:视频数据采集 1.视频编码RemoteUtil.java import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.util.zip.Deflater; import java.util.zip.DeflaterOutputStream; /** * ...
2019-12-13 16:25:15
185
原创 Android Red5视频通讯第二篇:音频数据采集
Android Red5视频通讯第二篇:音频数据采集 1.音频数据编码 采用speex编码。编译so库 https://download.youkuaiyun.com/download/sclgxt/12031721 例子中已经有编译好的so文件 2.jni使用new package com.speex.lib,新建Speex.java //包名不能改 package com.speex....
2019-12-13 16:11:42
180
原创 Android Red5视频通讯第一篇:连接服务器
Android 视频通讯第一篇:连接服务器 1.开发环境 开发工具:AndroidStudio、Kotlin 使用jvu-rtmp-client-1.5.10.此版本为破解版本 2.连接 2.1声明red5Client,回调接口 private var red5Client: INetConnection? = null private val singleExecut...
2019-12-13 11:22:16
399
原创 自定义View SwitchButton
Note:代码总共140行许,实现按压高亮,可自由拖动效果 1.准备素材:四张图片 switch_bar_light.png switch_bg_left.png switch_bar.png switch_bg_right.png 2.效果图 3.代码 package com.carsyso.radiosurface.view; import com...
2018-07-30 10:51:53
199
原创 Java break return continue
break:默认作用于当前循环,跳出当前循环,当前循环接下来所有动作不再执行,如果外面还有嵌套的循环跳不出去 return:直接跳出当前方法,结束循环; continue:默认作用于当前循环,结束当前循环这次循环中接下来的动作,进入当前循环的下次循环; public static void recycle() { A: for (int i = 1; i B: for (int
2018-01-09 11:59:28
177
原创 Java try cathc finally 分析
1.执行顺序 try{ }catch(Exception e){ }finally{ } 首先执行,try{}里面的语句,如果try{}有异常,则执行catch(Exception e){}中的语句;最后无论如何都会执行finally{}中的语句; 2.return(三个里面都有return 返回哪一个) 按照执行顺序,如果最后执行return语句是finally{}中,则retur
2018-01-09 11:29:09
351
原创 Java String +运算
总结:+运算如果全部是常量那么会在常量池中寻找或者创建(相当于=“”),只要含有一个变量或者对象(new String())最终会在堆中创建一个对象(相当于new String()) private static final String s11="hello"; private static final String s22="world";
2018-01-03 14:40:45
1419
1
原创 Java String类型在方法之中的参数传递
参考Java String =“ ”和 new String的区别详解. http://blog.youkuaiyun.com/sclgxt/article/details/78952880 总结:String数据类型,通过=“”创建的对象在方法之中传递的常量池之中的常量的引用,通过new String传递的是堆中对象的引用;值得注意的是,一旦在方法之中通过任何方式对String数据类型进行修改,那么方法
2018-01-03 10:14:26
1335
原创 Java String =“ ”和 new String的区别详解
Java String =“ ”和 new String的区别在说明两者区别之前,先说明两个概念:常量池和堆常量池:常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = "java"这种申明方式;当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。堆:简单来说
2018-01-02 16:14:47
959
原创 java 反射简单运用
0基础 Method getDeclaredMethod(String name, Class… parameterTypes) 返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。 (该类声明的所有方法的单个,name:方法名,parameterTypes:参数类型.Class) Method[] getDeclaredM
2017-11-23 11:02:20
270
原创 Recyclerview adapter.notify几个方法内存占用分析
1.adapter.notifyItemChange(position) 占用内存少 adapter.notifyDataSetChanged() 占用内存多, 在做D3Radio 电台列表的时候:来回反复调两个RecyclerView AM 和FM adapter.notifyDataSetChanged()时候导致内存居高不下,最后调adapter.notifyItemChange(pos
2017-11-10 15:54:56
658
原创 深度解析ViewPager 页面 滑动效果PageTransformer
在 public void transformPage(View view, float position) 方法中, 会传递两个参数, 且 该View 对应 当前的 position position为float类型,可知position可为小数,position 有一下几个区间: 1.position=0,静止状态下当前显示的page的位置 2.position=1,静止状态下
2017-07-20 18:39:46
1299
1
原创 RecyclerView跨行显示
设置跨行需要注意两点 1.在CreateViewHolder的时候使用下面的方法 View cardView = LayoutInflater.from(parent.getContext()).inflate( R.layout.header_view_folder, parent, false);return new FolderHeadViewHolder(cardVi
2017-07-20 17:43:51
1602
原创 Android 点击按压效果selector
1 enabled+pressed 1.1.1无效 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/icon_fm_p...
2017-06-08 09:13:12
2409
原创 不可滑动的ViewPager
mport com.uninew.util.LogTool; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.Mo
2017-06-08 09:06:30
312
原创 自定义listview快速滚动条
1.滚动条 package com.example.myviews.views; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android
2017-04-13 18:03:47
1175
原创 Android viewpager之view的重用
//原理:1.public Object instantiateItem(ViewGroup container, int position) // 2.public void destroyItem(ViewGroup container, int position, Object object) //用一个链表,把移除出去的view保存起来,在初始view的时候,判断链表之中是否有待重
2016-12-22 10:55:24
2147
原创 Android studio添加/创建自定义外包
1.如果是文件夹的形式,也就是是说把其他项目中的外包,直接拷贝到自己项目的目录之下例如: 那么需要在settings.gradle之中添加 然后呢,在app目录下添加依赖关系 2.还有一种就是,在其他项目之中编译过后会生成一个arr文件,把它拷贝到app的lib之中去,随便考一个. 然后在app下的build.gradle之中对应着你拷贝的文件,添加依赖关系 至于外包哪
2016-07-18 11:45:36
829
原创 StarActivityForResult接收问题
getActivity.startActivityForResult 只能在activity之中收到,startActivityForResult 则在相应的Activity或者Fragment之中收到: Activity和Fragment都自己定义了startActivityForResult这个方法
2016-06-15 11:16:08
568
原创 EditText中文过滤,InputFilter
1.1.中文过滤,限制输入1-10个中文,为了编辑姓名使用 class ChineseFiter implements InputFilter { private String regEx = "[\\u4e00-\\u9fa5]{1,10}[\\u4e00-\\u9fa5]"; private Pattern pattern = Pattern.compile(regEx)
2016-05-09 10:27:56
629
原创 圆形图片CircleImageView
package com.sclgxt.customimageview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; i
2016-05-05 12:00:25
340
原创 圆角图片RoundCornerImageView
package com.sclgxt.customimageview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; i
2016-05-05 11:55:50
536
pinyin4j-2.5.0
2017-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人