android
小马哥93
时间慢慢慢慢慢慢 成长!
展开
-
[ndk]NDK 开发中生成java对应的头文件的命令
NDK 开发中生成java对应的头文件的命令 javah -d jni -classpath /Users/mac/wodetian/build/jsb-default/frameworks/runtime-src/homePetCamera/app/build/intermediates/classes/debug net.fineteam.homepetcamera.jni.PushN原创 2017-08-13 16:53:25 · 388 阅读 · 0 评论 -
【安卓】android Fragment View的缓存以实现重复利用
public class HotFragment extends Fragment { private View mRootView;//缓存fragment View private RecyclerView mRecycleView; @Nullable @Override public View onCreateView(LayoutInflater原创 2016-08-04 22:36:55 · 2958 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(七)实现ViewPager无限循环与自动播放
实现ViewPager自动播放 自动播放,无非就是将ViewPager长度加到很大很大,大到无聊用户滑到手机没电为止,ViewPager实现滑动的监听,从而实现我要你滑到哪里你就去哪里。mviewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset,原创 2016-10-04 12:01:45 · 819 阅读 · 0 评论 -
【安卓】安卓App开发思路 一步一个脚印(五)多点触碰与单点触碰的冲突处理思路
多点触碰与单点触碰的冲突处理思路与我思路大致相同的博文 http://blog.csdn.net/q610098308/article/details/51324244原理可以看他的博文float startX = 0;int state = 0;//防止手指移动反复更新 只在手指按下和滑动时 启动float endX;int mode = 0;@Overridepublic boolean onTouch(View arg0, MotionEvent event) { //为了原创 2016-10-23 18:41:26 · 724 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(十四)实现Fragment的缓冲视图和数据,防止重复加载
实现Fragment的缓冲视图和数据,防止重复加载 实现Fragment的缓冲视图和数据,防止重复加载private View mRootView;//缓存的视图 防止重复加载视图和数据 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,原创 2016-10-28 13:07:38 · 685 阅读 · 0 评论 -
【安卓】安卓App开发思路 一步一个脚印(一)欢迎界面
一.欢迎界面功能点描述: 1 应用的第一个界面 2 3秒之后自动关闭 第一次使用的时候就跳转到新手引导, 不是第一次使用就跳转到主页面 3 不能返回,禁止返回键实现采用 Handler postDelayed(new Runnable(){},3000); 一般为3秒钟自动跳过,具体得看app需求原创 2016-09-21 23:02:19 · 1159 阅读 · 0 评论 -
【安卓】安卓App开发思路 一步一个脚印(二)FragmentTabHost实现底部的菜单
FragmentTabHost实现底部的菜单实现底部的菜单 有很多种方式,一开始是用TabHost+Activity 后面 又 转为了RadioButton+Fragment,但是都不是特别好,现在一般是FragmentTabHost+Fragment实现的底部菜单布局,从而实现市场上的app的底部菜单的布局等。FragmentTabHost 实际上是每一个TabSpec组成,指示器为Indicator,而每一个Indicator就是一个View,一般View有ImageView+TextView,具原创 2016-10-03 12:44:33 · 453 阅读 · 0 评论 -
【安卓-优化点】安卓App开发思路 一步一个脚印(四)Fragment的重复利用
Fragment的重复利用在现在主流的app开发中,少不了fragment的使用,fragment 是v4下的包,调用这样子的写法:FragmentManager fragment = getSupportFragment();Transition transition = fragment.getTransition();transition.replace(R.id.fragment_content,new XXFragment());transition.commit();其中的fra原创 2016-10-03 16:30:18 · 761 阅读 · 0 评论 -
【安卓】安卓App开发思路 一步一个脚印(三)BaseActivity BaseFragment
BaseActivitypublic abstract class BaseActivity extends AppCompatActivity { protected Context mContext; protected abstract int initLayoutId(); protected abstract void initView();原创 2016-10-03 15:18:11 · 751 阅读 · 0 评论 -
【安卓】 使用ijk播放器实现视频的播放
使用ijk播放器实现视频的播放ijkplayer播放器是Bilibili开源的一款播放器github地址:https://github.com/Bilibili/ijkplayer; ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS.实现了跨平台功能,API易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供Android平台下应用弹幕集成的解决方案,此方案目前已用于美拍和斗鱼 APP。原创 2016-11-19 13:52:50 · 4445 阅读 · 0 评论 -
【安卓】常见的安卓中的内存泄漏总结
常见的安卓中的内存泄漏总结 系统内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。 系统内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟内存大小取决于磁原创 2016-11-20 17:20:19 · 731 阅读 · 0 评论 -
【安卓】MAT工具实现安卓性能的优化 更新中
MAT工具实现性能的优化 MAT工具全称为Memory Analyzer Tool,一款详细分析Java堆内存的工具,该工具非常强大,为了使用该工具,我们需要hprof文件。但是该文件不能直接被MAT使用,需要进行一步转化,可以使用hprof-conv命令来转化,但是Android Studio可以直接转化。 官方提供的下载链接为 http://eclipse.org/mat/downloads.php 持续更新中。。。原创 2016-11-20 16:13:07 · 590 阅读 · 0 评论 -
[ndk]Android NDK: Your APP_BUILD_SCRIPT points to an unknown file/Please define the NDK_PROJECT_PATH
NDK编译报错: Your APP_BUILD_SCRIPT points to an unknown file/Please define the NDK_PROJECT_PATH这种报错原因是 ndk 认为该编译的路径下,不知道哪个是对的NDK_PROJECT_PATH, APP_BUILD_SCRIPT, NDK_APPLICATION_MK 是一个空的值,Your原创 2017-08-13 16:01:26 · 7214 阅读 · 3 评论 -
【NDK】关于ndk在android studio 编译中的报错解决
关于ndk在android studio 编译中的报错解决Error: NDK integration is deprecated in the current plugin. "android.useDeprecatedNdk=true"在项目的根目录的 gradle.properties 文件(无则添加 as从项目开始一直默认有的)添加此行:androi原创 2017-01-01 16:07:52 · 729 阅读 · 0 评论 -
【多媒体性能优化】图片压缩技术探究与实践 更新中
图片压缩技术探究与实践原创 2016-12-31 13:12:34 · 417 阅读 · 0 评论 -
【安卓】安卓App开发思路 一步一个脚印(十五)实现闪屏的优化
【安卓】安卓App开发思路 一步一个脚印(十五)实现闪屏的优化原创 2016-12-23 21:14:54 · 799 阅读 · 0 评论 -
【安卓】重写Viewpager 事件 解决viewpager嵌套滑动灵敏度问题
重写Viewpager 事件 解决viewpager嵌套滑动灵敏度问题/** * 调高灵敏度的viewpager */public class ViewpagerGridView extends ViewPager { public ViewpagerGridView(Context context) { super(context); } public ViewpagerGridView(Context context, AttributeSet at原创 2016-12-09 00:15:14 · 1194 阅读 · 0 评论 -
【直播】RMTP HLS直播延时问题因素
RMTP HLS直播延时问题因素 推流延时受多种原因影响,推流网络环境(视频录制),服务器上传带宽,下发带宽,拉流网络环境(播放器)等影响。一般 rtmp 延迟在3s 左右, hls 在 10s 左右算正常。推流拉流的界面一般比较复杂,那么就涉及到了界面的优化,譬如常见的直播端中的聊天礼物之类的需要处理好线程执行。导致播放端卡顿和增加延迟的重要原因,假设测试推流和拉流是在相同的网络下同时进行,那么可能会因为总体带宽、设备编解码性能不足导致推流卡顿、丢帧明显关于推流设备原创 2016-11-13 16:12:55 · 7171 阅读 · 1 评论 -
【安卓】关于gridView的高度自动填充到父布局
关于gridView的高度自动填充到父布局一种方案是 填充数据后要重新测量girdview高度;第二种方案是 getView item设置需要设置Item的高度,直接在adapter的getView里通过convertView的 getLayoutParams()无法获得LayoutParams,因为这个时候convertView还没有加到任何viewgroup里,所以需要手动new一个新的LayoutParams@Overridepublic View getView(int position原创 2016-12-05 00:33:51 · 1535 阅读 · 0 评论 -
【webp】webp图片研究 更新中
webp图片研究http://sanwen8.cn/p/15fXAzn.html原创 2016-11-20 23:19:24 · 1044 阅读 · 0 评论 -
【安卓】安卓资源获取总结更新中
颜色Activity 中 this.getResources().getColor(R.color.xx); Color.parseColor|("#ffffff");Fragment中 getActivity().getResources().getColor(R.color.xx);原创 2016-10-03 15:51:20 · 624 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(六)实现ViewPager最基本的
实现自定义布局ViewPager现在的app中的布局,一般的首页都会设计到Viewpager布局<android.support.v4.view.ViewPager android:id="@+id/vp_buy" android:background="#00FF00" android:layout_width="match_parent" android:layout_height="wrap_content"></android.support.v4.vie原创 2016-10-03 21:40:16 · 599 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(九)实现自定义滚动的新闻条目上下滚动-仿蘑菇街
实现自定义滚动的新闻条目上下滚动 这种上下滚动的自定义布局,就像是公告那种上下的翻滚,一般为文字的滚动,很明显,就是自定义布局,一般是线性布局。这里提到的安卓原生的控件自然是ViewFlipper是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换,也可以设定时间间隔,让它自动播放。又ViewAnimator继承至于FrameLayout的,所以ViewFilpper的Layout里面可以放置多个View,继承关系如下:null有了这个控件,原创 2016-10-04 18:30:06 · 1791 阅读 · 0 评论 -
【安卓】沉浸式适配 安卓实现主题样式的更改等
@Overrideprotected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 super.onCreate(savedInstanceState);}默认的style更改name="BaseAppTheme" parent="Th原创 2016-08-13 18:17:58 · 2777 阅读 · 0 评论 -
【安卓】google gsp 开发使用为了支持5.0以上的设备
google gsp 开发使用为了支持5.0以上的设备,需要在配置文件中添加多一个配置android.harware.location.gps原创 2016-09-21 09:51:38 · 852 阅读 · 0 评论 -
【安卓】AsyncTask异步任务
AsyncTask异步任务为了实现安卓的单线程模型,将耗时的操作放在非主线程中执行,AsyncTask应运而生,从而实现 在子线程中更新UI,封装简化异步操作。 抽象类AsyncTask 通常被继承,从而指定三个泛型参数:Params 启动任务时输入参数的类型Progress 后台任务执行中返回进度值的类型Result 后台执行任务完成后返回结果的类型原创 2016-09-20 22:37:55 · 602 阅读 · 0 评论 -
【安卓】Volley框架使用一
android:name="android.permission.INTERNET"/>RequestQueue requestQueue = Volley.newRequestQueue(this);//实例化 StringRequestStringRequest stringRequest = new StringRequest(Request.Method.原创 2016-09-04 18:34:32 · 381 阅读 · 0 评论 -
【安卓】viewpager 等与父容器等换动冲突解决方案
方案一: 子 Viewpager 父 SwiperRefreshLayout//解决SwiperRefresh 与 Viewpager的冲突mViewpager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent eve原创 2016-08-17 23:02:28 · 870 阅读 · 0 评论 -
【安卓】imageview 安卓解决控件铺满问题
android:scaleType="fitXY" 解决imageview控件的铺满问题原创 2016-08-02 15:57:41 · 753 阅读 · 0 评论 -
【安卓】Okhttp网络框架笔记
Okhttp网络框架Okhttp配置compile 'com.squareup.okhttp3:okhttp:3.4.1'compile 'com.squareup.okio:okio:1.10.0' //涉及到文件的上传和下载Okhttp基本使用Get同步请求new Thread(new Runnable() { @Overrid原创 2016-10-01 21:28:09 · 425 阅读 · 0 评论 -
【安卓】采用静态工厂方法的Fragment实现ViewPager+Fragment
优化点1 .用一个transaction 的replace函数,这样每次切换都会把上一次的fragment回收了,就不存在内存问题 实现方案有第一种:用一个Fragment类的实例 维护当前正在显示的Fragment,每次切换都适合把正在显示对Fragment赋值,然后在点击的时候就可以使用关键字 “instance of”判断mCurrent属于哪一个Fragment,然后调用相应的原创 2016-08-13 15:46:23 · 1578 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(十)实现内嵌在app中的webview 腾讯开源X5 高效安全
实现内嵌在app中的webview 采用腾讯开源X5 高效安全webview在app的使用中,十分频繁,原生的webview加载速度相对来说很慢,而且很费流量。腾讯开源了x5的webview jar包,无疑是好事,毕竟经过了过亿的用户量的使用,性能还是值得赞的。譬如咱们来加载百度页面官方的网址为:腾讯x5 http://x5.tencent.com/doc?id=1004调用private WebView X5WebView;//使用腾讯X5WebViewprivate String原创 2016-10-04 21:49:09 · 3310 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(十一)实现自定义左右滚动的导航栏目--仿美团
实现自定义滚动的导航栏目 这种左右滚动的菜单,在很多常见的o2o 什么p2p c2c o2c c2o p2c c2p 各种软件中比较常见,譬如美团的这种布局就是将GridView嵌套了ViewPager , ViewPager中的数据模型适配器就是View,也就是子类 GridView,那么问题就好办了ViewPager的适配器 数据模型 List<View> mViewList;public class MyGridViewPagerAdapter extends Pager原创 2016-10-05 14:42:37 · 1577 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(十二)实现自定义左右滚动的信息块-仿蘑菇街
实现自定义左右滚动的信息块 这种左右滚动的内容,在很多常见的o2o 什么p2p c2c o2c c2o p2c c2p 各种软件中比较常见,譬如蘑菇街的 这种布局就是将LinearLayout嵌套在HorizontalScrollView中,实现的原理就好像GridView中嵌套了ItemView那种思路,整体布局思路为<HorizontalScrollView android:background="@color/white" android:layout_wi原创 2016-10-05 15:12:13 · 907 阅读 · 0 评论 -
【安卓-自定义布局】安卓App开发思路 一步一个脚印(十三)关于ListView的优化总结
关于ListView的优化总结 ListView在一般场景中,难免需要实现自定义的适配器,适配器中的getView方法方便灵活的可以按照我们的想法进行自定义。 值得一提的是getView方法中都要执行两个比较耗时的操作 inflate 进行获取布局对象 findViewById进行获取控件 ListView优化分为两个级别,一级优化是用系统提供的ConverView 二级优化是在一级优化的基础上使用自定义的ViewHolder进行优化两者的原理通原创 2016-10-16 18:10:14 · 549 阅读 · 0 评论 -
【安卓】android studio 项目gradle 中的各种版本统一
android studio 项目gradle 版本统一 随着Android Studio的流行,每次的gradle中的compile经常更新,在项目越来越大,构建的library越来越多,每次compile更新极为麻烦,那么如何统一compile版本呢?项目的根目录中的build.gradle中添加ext { compileSdkVersion = 23 buildToolsVersion = '23.0.3' targetSdkVersion = 23原创 2016-11-13 11:46:02 · 2158 阅读 · 0 评论 -
【安卓】fragment 实现返回键的需求
为了实现在fragment 中点击了返回键回到被替换时候的状态 可以通过FragmentManger() 创建的事务将事务添加到返回栈中FragmentManager mFragmentManager = getSupportFragmentManager();FragmentTransaction mfragmentTransaction = mFragmentManager.beg原创 2016-08-13 11:38:57 · 574 阅读 · 0 评论