序列化
- Serializable是java序列化的方式,存取的过程有频繁的IO,性能较差,但是实现简单。
- Parcelable是android序列化的方式,采用共享内存的方式实现用户空间和内核空间的交换,性能很好,但是实现方式比较复杂。
- Serializable可以持久化存储,Parcelable是存储在内存中的,不能持久化存储。
存储方式
进程和线程
进程是操作系统进行资源分配的最小单位,其中资源包括:CPU、内存空间、磁盘10等,同一进程中的多条线程共享该进程中的全部系统资源,而进程和进程之间是相互独立的。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身,用户进程就是所有由你启动的进程。
线程是CPU调度的最小单位,必须依赖进程而存在
并发和并行
并发:指应用能够交替执行不同的任务,比如单CPU核心下执行多线程并非是同时执行多个任务,如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,已达到"同时执行效果",其实并不是的,只是计算机的速度太快,我们无法察觉到而已.
并行:指应用能够同时执行不同的任务,例:吃饭的时候可以边吃饭边打电话,这两件事情可以同时执行
两者区别:一个是交替执行,一个是同时执行.
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。
ThreadLocal和Synchonized
ThreadLocal和Synchonized都用于解决多线程并发訪问。可是ThreadLocal与synchronized有本质的差别。synchronized是利用锁的机制,使变量或代码块在某一时该仅仅能被一个线程訪问。而ThreadLocal为每个线程都提供了变量的副本,使得每个线程在某一时间訪问到的并非同一个对象,这样就隔离了多个线程对数据的数据共享。
CAS(Compare And Swap)原子性
假定有两个操作A和B(A和B可能都很复杂),如果从执行A的线程来看,当另一个线程执行B时,要么将B全部执行完,要么完全不执行B,那么A和B对彼此来说是原子的。
CAS实现原子操作的三大问题
ABA问题:如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了。解决办法:就是使用版本号。在变量前面追加上版本号,每次变量更新的时候把版本号加1,那么A→B→A就会变成1A→2B→3A。
循环时间长开销大:自旋CAS如果长时间不成功,会给CPU带来非常大的执行开销。
只能保证一个共享变量的原子操作:当对一个共享变量执行操作时,我们可以使用循环CAS的方式来保证原子操作,但是对多个共享变量操作时,循环CAS就无法保证操作的原子性,解决办法:用锁或把多个共享变量合并成一个共享变量来操作。比如,有两个共享变量i=2,j=a,合并一下ij=2a,然后用CAS来操作ij。
AQS:队列同步器AbstractQueuedSynchronizer(以下简称同步器或AQS),是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。
volatile变量自身具有下列特性:
可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。
原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。
“==”和equals()区别
// “==“比较的是内存中存放的位置,值相等不一定返回true,
// equals()比较的是字符序列,值相等返回true
//值相等hashCode就相等
String str1 = "a" + "b" + "c";
String str2 = "abc";
String str3 = new String("abc");
Log.d("打印1", (str1 == str2) + "");//true
Log.d("打印2", (str1 == str3) + "");//false
Log.d("打印3", (str3 == str2) + "");//false
Log.d("打印4", str1.equals(str3) + "");//true
Log.d("打印5", str1.equals(str2) + "");//true
Log.d("打印6", str3.equals(str2) + "");//true
Log.d("打印7", str1.hashCode() + " " + str2.hashCode() + " " + str3.hashCode());//打印7: 96354 96354 96354
内存泄露和内存溢出(OutOfMemory)
查看另一篇博客:内存溢出和内存泄漏的介绍_ailinghao的博客-CSDN博客
===========================内存优化相关start================================
比如
100x100
分辨的图片,以
RGB_565
加载进入内存,则其内存大小为:
100x100x2 = 20000
字节。
|
Bitmap压缩
- ALPHA_8:表示8位Alpha位图,即透明度占8个位,一个像素点占用1个字节,它没有颜色,只有透明度。
- ARGB_4444:表示16位ARGB位图,即A=4,R=4,G=4,B=4,一个像素点占4+4+4+4=16位,2个字节。
- ARGB_8888:表示32位ARGB位图,即A=8,R=8,G=8,B=8,一个像素点占8+8+8+8=32位,4个字节。
- RGB_565 :表示16位RGB位图,即R=5,G=6,B=5,它没有透明度,一个像素点占5+6+5=16位,2个字节
private void compressQuality() {
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.test);
mSrcSize = bm.getByteCount() + "byte";
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, bos);
byte[] bytes = bos.toByteArray();
mSrcBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
===========================内存优化相关end=================================
Context
工具下载https://github.com/inferjay/AndroidDevTools
《Java编程思想》 第5版 https://github.com/lingcoder/onJava8/
怎样将自己的电脑变成一个服务器(本地服务器)https://jingyan.baidu.com/article/af9f5a2d79f49a43150a4540.html
屏幕适配https://www.jianshu.com/p/f770ef8410a0
远程测试平台:华为https://deveco.huawei.com/remotetest/devices/ 360 http://opentest.360.cn/
APP上架到各大应用市场技巧 https://www.jianshu.com/p/b0242614150b https://jingyan.baidu.com/article/eae078277bd3641fec5485d6.htmlz
在线制作图表库 https://www.tubiaoxiu.com/src/index.html#/app/charting_resource
力扣(学习算法的网站)https://leetcode-cn.com/
Android记录贴:使用ZXing来实现二维码扫描 https://blog.csdn.net/qq_34261214/article/details/80428722
快速导入源代码到word 软件著作权源代码需要https://blog.csdn.net/u010042660/article/details/78217440
Android RecyclerView 实现item点击水波纹动画效果https://blog.csdn.net/wjj1996825/article/details/80778711
插件库 http://www.jq22.com
fragment重叠的完美解决方案https://blog.csdn.net/yuzhiqiang_1993/article/details/75014591 https://blog.csdn.net/qq_34490018/article/details/80205967
视频接入https://open.hikvision.com/download/5c67f1e2f05948198c909700?type=10
对RecyclerView的封装https://github.com/GitLqr/LQRRecyclerViewLibrary
CardView 简介和使用https://blog.csdn.net/shawnxiafei/article/details/81568537
二维码相关的库https://github.com/bingoogolapple/BGAQRCode-Android
微信底部导航栏的动画https://mp.weixin.qq.com/s/usebBOJWItLSd_3LNp0I3w
android 4.4以上沉浸式状态栏和沉浸式导航栏管理库https://github.com/gyf-dev/ImmersionBar
Android OKHttp使用详解https://www.jianshu.com/p/2663ce3da0db
网络请求工具类之OkHttp3封装(支持缓存、日志、拦截器、断点下载、上传等)https://blog.csdn.net/zsf442553199/article/details/51720241
检查json数据格式是否正确的网站 https://www.json.cn/
Android 开源框架Glide的使用 https://www.cnblogs.com/jiangzhishan/archive/2018/08/06/9428634.html
https://github.com/bumptech/glide
在线制作图表库 https://www.tubiaoxiu.com/src/index.html#/app/charting_resource
推荐Android15个常用的图表库,https://blog.csdn.net/u014133119/article/details/80923327
MPAndroidChart 的简单应用https://blog.csdn.net/ww897532167/article/details/77334345
Unsupported Modules Detected: Compilation is not supported for following modules: skiing. Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project.解决:关闭Android Studio ,去项目根目录删除.idea文件,把项目路径修改重新导入,重启AS搞定
百度地图AppKey申请http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key
推荐几款实用的Android Studio 插件http://www.jianshu.com/p/6f5f818afe4b
Android Studio自动提取控件Style样式 http://blog.csdn.net/shibin1990_/article/details/51685042
Android Studio 代码混淆 https://my.oschina.net/kooeasy/blog/479083?p=1 http://blog.csdn.net/hudashi/article/details/9016805 https://segmentfault.com/a/1190000004461614
Android Studio调试功能使用总结【转】 http://www.cnblogs.com/firstcsharp/p/4333264.html
json 布局尺寸等的学习 http://www.bejson.com/ui/phonesize/
git学习http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703354d8c6c01c904c7d9ff056ae23da865a000
生成.so文件http://mamicode.com/info-detail-1255851.html 或者http://blog.sina.com.cn/s/blog_ad64b8200102vnxl.html
Android studio使用so文件 https://blog.csdn.net/luojie140/article/details/59094876
AndroidJNI 通过C++调用JAVA http://www.cnblogs.com/likwo/archive/2012/05/21/2512400.html
使用Android Studio 进行NDK开发和调试 http://www.jianshu.com/p/2690c9964110
关于安卓平台JNI编程的一些心得 http://blog.csdn.net/lish100/article/details/47016445
异常查找http://www.myexception.cn/database/1877322.html
模拟器:TotalControl
开源项目集合Android Open Source Projects
这是一份关于 Java 、Kotlin 、 Android 的学习笔记 GitHub - leavesC/AndroidGuide: 🎁🎁🎁 这是一份给 Android Developer 的进阶不完整指南,喜欢写又长又臭的文章,希望对你有所帮助 🤣🤣
安卓学习网站 玩Android - wanandroid.com - 每日推荐优质文章
一个个人代码库:包含自定义控件、工具、测试、设计模式的示例库。特别是 SuperTextView可以快速实现圆角背景,设置渐变色背景,给控件和文字描边,为控件增加状态图,添加按压时文字或背景变色效果,通过 Adjuster 模块快速插入操作到控件绘制过程中,展示图片,甚至可以直接从网络上下载图片展示...基本上涵盖了 Android 日常开发中会用到的绝大部分效果https://github.com/chenBingX/CoorChiceLibOne
Android:一个线程玩转商品列表所有item的倒计时器,并对Adapter进行单控件刷新优化Android:一个线程玩转商品列表所有item的倒计时器,并对Adapter进行单控件刷新优化 - 简书
Android远程图片获取和本地缓存 http://blog.csdn.net/hbzh2008/article/details/9038551
android端读取本地图片出现OutOfMemoryException http://blog.sina.com.cn/s/blog_73e890f401016nmw.html
android bitmap内存那些事 http://blog.csdn.net/duantihi/article/details/50492056
Android中图片占用内存的计算 http://blog.csdn.net/hudashi/article/details/7856519
Android图片压缩(质量压缩和尺寸压缩)http://www.cnblogs.com/huangjianboke/p/5569978.html
Android中ImageView.ScaleType属性值 http://blog.csdn.net/lirui0822/article/details/38423423 http://blog.csdn.net/hhbgk/article/details/8101676
setImageResource和setImageDrawable区别http://jingyan.baidu.com/article/6525d4b1332117ac7d2e9433.html
pulltorefresh实现下拉刷新和上拉加载跟多更多http://blog.csdn.net/zhongkejingwang/article/details/38868463
Android 开源项目分类汇总 https://github.com/Trinea/android-open-project https://github.com/wasabeef/awesome-android-ui
程序员客栈https://www.proginn.com/
android ListView 几个重要属性 http://blog.csdn.net/avenleft/article/details/7334060 http://blog.csdn.net/tmj2014/article/details/7758787
Android ListView默认选中某一项 http://blog.csdn.net/imhxl/article/details/51161999
android listview addHeaderView和addFooterView的注意事项 http://892848153.iteye.com/blog/1923680
Android 解决在ListView历史复用中Edittext数据显示混乱 https://blog.csdn.net/fan7983377/article/details/51516155
《Android 开发工程师面试指南》http://www.diycode.cc/wiki/androidinterview
录音功能http://www.linuxidc.com/Linux/2014-12/110230.htm http://www.soso.io/article/103778.html
Android中assets目录和raw目录的区别和使用情况 http://blog.csdn.net/fingding/article/details/46791755
EditText的属性 http://www.cnblogs.com/xilinch/archive/2012/06/25/2560946.html http://blog.csdn.net/lastdream/article/details/24365633
Android开发之EditText属性详解 http://www.cnblogs.com/weixing/p/3257058.html
Android中常用的音频编解码器常量MediaRecorder.AudioEncoder http://www.shangxueba.com/jingyan/1846448.html http://www.2cto.com/kf/201404/294090.html
使用AndioRecord类录音 http://www.cnblogs.com/mythou/p/3241925.html 和常见错误http://blog.csdn.net/wyyl1/article/details/45719099
29个android开发常用的类、方法及接口 http://www.cnblogs.com/gaobig/p/5010006.html
Android ViewPager和Fragment实现顶部导航界面滑动效果、标签下的tab位置 http://blog.csdn.net/asdf717/article/details/52087167
Android开发实现连续跳转几个界面后在最后一个界面完美跳回最初的界面 http://blog.csdn.net/u011895534/article/details/47616979
startActivityForResult和setResult详解http://www.cnblogs.com/lijunamneg/archive/2013/02/05/2892616.html
Android M 新的运行时权限开发者需要知道的一切,android开发者http://www.android100.org/html/201509/01/178112.html
android 6.0 权限管理的学习资料和使用例子 http://blog.csdn.net/yangqingqo/article/details/48371123
Android中的canvas介绍 http://blog.csdn.net/linghu_java/article/details/8939952
Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释http://www.cnblogs.com/xiaoQLu/archive/2012/07/17/2595294.html
Android APK反编译就这么简单 详解(附图) http://blog.csdn.net/yelbosh/article/details/45250773
Android之drawable state各个属性详解 http://blog.csdn.net/leasystu/article/details/7250885
Android中 setText()和append()方法区别在哪里?https://zhidao.baidu.com/question/1987757746064089707.html
JNI ERROR (app bug): local reference table overflow (max=512) http://blog.csdn.net/claudiii/article/details/37877303 http://blog.csdn.net/xpz445094213/article/details/46633889
android 图文混排 显示 与 图文混排输入 http://blog.csdn.net/banzhuancaidao/article/details/18701517
Android开发——告诉你Adapter应该写在Activity里面还是外面 http://blog.csdn.net/seu_calvin/article/details/52693157
[Android] ListView中getView的原理+如何在ListView中放置多个item http://www.cnblogs.com/xiaowenji/archive/2010/12/08/1900579.html http://mzh3344258.blog.51cto.com/1823534/889879
Android智慧北京之轮播图与下拉、上拉刷新 http://blog.csdn.net/an13531829360/article/details/52202375
android Banner控件的优雅实现 http://www.jianshu.com/p/a5655934f622
轮播图 http://download.csdn.net/detail/jimtrency/9633078 https://github.com/alibaba/UltraViewPager/blob/master/README-ch.md
关于ViewPager的点击事件的处理 http://blog.csdn.net/luanxuye/article/details/51377411
Android中通知的使用-----Notification详解 http://blog.csdn.net/qinjuning/article/details/6915482 http://blog.csdn.net/QQXIAOZHIJIANG/article/details/51704759
http://uule.iteye.com/blog/1706092 http://www.cnblogs.com/travellife/p/Android-Notification-xiang-jie.html
AndroidManifest.xml文件详解(receiver) http://blog.csdn.net/think_soft/article/details/7583047
Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等 http://blog.csdn.net/jdsjlzx/article/details/44160603/
深度了解Android 7.0 ,你准备好了吗? http://wetest.qq.com/lab/view/288.html?from=adsout_qqtips_past2_288&sessionUserType=BFT.PARAMS.211332.TASKID&ADUIN=756803884&ADSESSION=1487917806&ADTAG=CLIENT.QQ.5497_.0&ADPUBNO=26621
安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等) http://blog.csdn.net/wyl_1994/article/details/51605662
Android判断文件类型(视频、音频、图片等)http://www.tuicool.com/articles/fYRZzy
Android 开发技巧集合 http://blog.csdn.net/xiechengfa/article/details/38965165
支付宝开发 https://openhome.alipay.com/platform/home.htm http://www.open-open.com/lib/view/open1460935920454.html
android app 快速接入支付宝流程(android studio)http://blog.csdn.net/qq_33078541/article/details/50578445
支付宝技术在线客服(发送三次技术两个字): https://cschannel.alipay.com/newPortal.htm?scene=mt_zczx&token=&pointId=&enterurl=https%3A%2F%2Fdoc.open.alipay.com%2Fdocs%2Fdoc.htm%3Fspm%3Da219a.7629140.0.0.vbo0eI%26treeId%3D193%26articleId%3D105327%26docType%3D1
Android支付宝SDK开发笔记 http://www.cnblogs.com/Mark-Liu/p/4465471.html9
AndroidApk混淆编译时,报告java.io.IOException: The same input jar[xxx/xxx.jar]is specified twice. http://blog.csdn.net/iwanttohitren/article/details/52702415
Gradle build报错:Please correct the above warnings first解决方案 http://blog.csdn.net/xx326664162/article/details/52387583?locationNum=3&fps=1
Fragment系列之Transactions.commit和Activity的状态 http://blog.csdn.net/basanyeyu/article/details/50510518
fragment简单有用的一些细节 http://blog.csdn.net/u013377714/article/details/51204780
java.lang.IllegalStateException:Fragment XXXFragment{409864b0} not attached to Activity http://blog.csdn.net/gaojiaxingde/article/details/37908335
Android实现下载图片并保存到SD卡中 http://blog.csdn.net/ameyume/article/details/6528205
Android中的windowSoftInputMode属性详解 http://www.jb51.net/article/56043.htm
android中的软键盘的显示与隐藏 http://www.cnblogs.com/zhwl/archive/2012/07/06/2579073.html
Intent传递List和Object和List<Object>(附源码) http://blog.csdn.net/wirelessqa/article/details/8589200
Android PopupWindow怎么合理控制弹出位置(showAtLocation) http://www.cnblogs.com/popfisher/p/5608436.html
好例子网 和http://www.javaapk.com/
学习网站 http://yiibai.com/ http://www.jikedaohang.com/ios.html
android开发网 android.sjsjw.com
Android小记:Animation的Interpolator使用方法 http://blog.csdn.net/lyx4228716/article/details/50971996
Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin : Unsupported major.minor version 52.0 http://blog.csdn.net/rodulf/article/details/52976353 (在最外面的build.gradle)
深入了解Android蓝牙Bluetooth——《基础篇》https://blog.csdn.net/androidstarjack/article/details/60468468
视频播放器 GitHub - jianjunxiao/NiceVieoPlayer: IjkPlayer/MediaPlayer+TextureView,支持列表,完美切换全屏、小窗口的Android视频播放器
原
Android视频播放器开发—— 探究MediaPlayer Android视频播放器开发—— 探究MediaPlayer_只为知音的博客-CSDN博客
总结:
成员变量不需要手动初始化(不需要设置初始值),系统默认会设置初始值
局部变量需要设置初始值(一个方法里面的变量)
1.startActivity( )仅仅是跳转到目标页面
startActivityForResult(Intent intent, Int requestCode)不仅可以跳转到目标页面,还可以在目标页面退出时返回到parent页面可以给parent传值
setResut(int resultCode, Intent intent)当当前界面finish之后才把数据传给parent界面,他要在finish之前写
onActivityResult(int requestCode, int resultCode, Intent intent)
mPassWord.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//显示密码
mPassWord.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);//隐藏密码
Selection.setSelection(mPassWord.getText(), mPassWord.getText().length()); // 输入框光标一直在输入文本后面
6.0权限适配:
1.检查权限ContextCompat.checkSelfPermission
2.申请权限 ActivityCompat.requestPermissions
3.处理拒绝权限
空格字符
\t 制表符
\r 回车符
\n 换行符
\f 换页符
Android Support Library包的区别
Android Support v4:这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的。
Android Support v7:这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。
Android Support v13:这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。
当点击listview的条目失效时在条目的根布局中添加 android:descendantFocusability="blocksDescendants"属性
//
ViewPage来源于android -support.v4
什么是viewPage?
ViewPage 类似于ListView 用于显示多个View集合. 支持页面左右滑动.
如何使用viewPage以及需要注意点?
ViewPage 需要Adapter:
PagerAdapter 有四个重要方法:
(1) void destroyItem(ViewGroup container, int position, Object object): 销毁
(2)Object instantiateItem(ViewGroup container, int position) : 添加View
(3) int getCount() : 获得View总是
(4) boolean isViewFromObject(View view, Object obj) : View比较
监听器: setOnPageChangeListener :页面发生改变
(1) void onPageSelected(int position) :View进行切换 :position 新的页面位置
(2) void onPageScrolled(int arg0, float arg1, int arg2) :页面正在滚动的时候[滑动偏移信息],回调
(3) void onPageScrollStateChanged(int arg0) :页面状态发生变化的时候,回调
ListView 因为使用相同的View,所以采用复用。
而ViewPage ,是基于View ,子类有许多不同,所以要注销.
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View view= imageVisws.get(position % images.length);
container.removeView(view); // 重复加入会引起异常
container.addView(view);
return view;
导致异常:java.lang.IllegalStateException The specified child already has a parent. You must call removeView()
原因: 被加入的View 有父类, 所以添加到另外一个集合中之前,必须清除父类.
}
2.获得某个控件的宽高:
View.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
View.getMeasuredWidth(), View.getMeasuredHeight()
获取手机屏幕的宽高:
/**
* 获取屏幕高度(px)
*/
public static int getScreenHeight(Context context) {
return context.getResources().getDisplayMetrics().heightPixels;
}
/**
* 获取屏幕宽度(px)
*/
public static int getScreenWidth(Context context) {
return context.getResources().getDisplayMetrics().widthPixels;
}
/**
* 得到设备的密度
*/
public static float getScreenDensity(Context context) {
return context.getResources().getDisplayMetrics().density;
}
/**
* 把密度转换为像素
*/
public static int dip2px(Context context, float px) {
final float scale = getScreenDensity(context);
return (int) (px * scale + 0.5);
}
3.代码中设置透明度:configWindowAlpha(0.5f)
private void configWindowAlpha(float alpha) {
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.alpha = alpha;
getWindow().setAttributes(lp);
}
///接口回调start//
1、在需要传递数据的地方(类)定义一个接口,接口里面需要定义监听的方法以及参数
2、定义一个的接口类型的变量存储数据。
3、定义一个公共的方法,让外部去调用,并且传递接口类型的参数,给其定义的接口类型的数据初始化(就是初始化2中接口变量)
/**
* 定义一个接口
*/
public interface OnListener{
void onListener(String code,String msg);
}
/**
*定义一个变量储存数据
*/
private OnListener listener;
/**
*提供公共的方法,并且初始化接口类型的数据
*/
public void setListener(OnListener listener){
this.listener = listener;
}
4、在合适的位置调用接口里面的方法,传递数据。(比如点击事件的地方)
/**
* 在合适的位置给其调用接口,给其赋值
*/
@Override
public void onClick(View v) {
if (listener!=null) {
listener.onListener(rtncode,rtnmsg);
}
}
5、在需要获取数据的地方,创建对象调方法。
allPersonAdapter.setListener(new OnListener() {
@Override
public void onListener(String code,String msg) {
}
});
///接口回调end//
这是一些比较全面而且开发中经常用到的一些网址:
Android开发随记 Android开发随记 - 掘金
android零碎知识收集大全:这是一些常用方法的封装工具类,包含好多知识,比如:添加水印,身份证号验证等。
RX学习内容:这是RX操作符比较全面的文章,方便大家学习。
android面试相关:这是android面试相关的,很全面哦!!
干货集中营:这里面包含好多干货哦!!!是不是很饥渴,释放你的野性吧!!哈哈~~
七天学会NodeJS:有喜欢研究各类技术滴小伙伴研究一下吧,带你飞哦~~~
这是翔哥整理的android学习网站:网站知识点整理比较全面,内容结构有条理!!!
好多特效的网站:盗用爱奇艺会员滴一句话:满足你滴挑剔品味!!
android源码服务专家:Javaapk,我想小伙伴们都知道,我就不再说明了。
这是泡在网上的日子大牛整理的例子网站:我想说,你想要的特效在这里,别犹豫了,点开看看吧!
极客学院滴IT技术图文教程库:这里面不仅仅只有android,好多技术都有,赶快来学习吧!!
ECMAScript 6入门 : 说实话,这是啥?我也不知道。。。–>开源的JavaScript语言教程
对stackoverflow上Java相关、投票数TOP100的问答进行翻译 : 喜欢翻译的可以参与一下。
recyclerview多布局解决方案 : 还在为多布局感到烦恼?还在为adapter处理逻辑繁杂感到头疼?还在为需求变更,找代码重写感到无奈?看看这个吧,完全解耦,让你的代码耦合性降低!!!
全栈攻城狮 : 想不想在移动,前端,后台,一领风骚,葵花宝典拿走,不谢!!
比较全面的github经典效果总结 :我看了一部分,好多是star比较多的框架,但是有利有弊,好多也是作者不更新了,好几年前的,不过可以参考!!!
Android面试与笔试相关问题:
(9)阿里巴巴面经记 | 掘金技术征文阿里巴巴面经记 | 掘金技术征文 - 掘金