- 博客(41)
- 资源 (7)
- 收藏
- 关注
原创 RecyclerView选中更换背景颜色和字体效果实现
效果实现主要是通过在adapter里面定义一个位置的变量selectedPosition,并且设置item点击事件,通过回调接口的形式,在回调方法里赋值selectedPosition,然后刷新RecyclerView.关键代码如下adapter中public class EMGoodsRvAdapter extends RecyclerView.Adapter<Recy...
2019-10-30 09:47:05
3220
原创 Grade常见配置
1. 模块之间共享变量的定义在根目录创建common_config.gradle,内容如下project.ext { javaVersion = 8 javaMaxHeapSize = '4G' compileSdkVersion = 29 buildTooksVersion = "29.0.1" minSdkVersion = 19 t...
2019-10-12 10:13:05
1508
原创 EventBus简单使用
1. 先看简单效果2. 上代码加上依赖implementation 'org.greenrobot:eventbus:3.0.0'MainActivitypublic class MainActivity extends AppCompatActivity { TextView tv; @Override protected void ...
2019-09-26 15:23:09
248
原创 Android进阶知识点
四大组件的生命周期activity:onCreate onStart onResume onPause onStop onDestroyonRestart 回到桌面再切回来,跳转到另一个activity再返回 ,本应用切换到另一个应用再切换回来时调用service:onCreate onStartCommond onDestroyonCreate onBind onUnBi...
2019-09-20 09:17:03
265
原创 周记7
1.使用Glide加载成圆角或圆形图片圆形和圆角的两种方式RoundedCorners roundedCorners = new RoundedCorners(30); RequestOptions options = RequestOptions.bitmapTransform(roundedCorners).override(300, 300).circleCrop(...
2019-09-10 14:03:19
139
原创 周记6
1. viewPager 实现一个界面多个pager主要思想是给viewpager设置margin,在添加如下属性。给他的父控件也添加这个属性android:clipChildren="false"clipChildren属性是让子控件超出父控件的部分也显示出来,默认是true不显示。2. 字符串转16进制16转字符串乱码,使用这个就可以正常显示public stat...
2019-09-05 08:35:11
205
原创 网络常见知识
1. 网络层级2. 常用的http方法get和post 的区别区别一:get接收服务器传来的数据,post通过请求体发送数据给服务器区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admi...
2019-08-28 09:30:17
191
原创 周记5
这周的工作主要是做用户的开户界面。使用了fragment和第三方的自定义stepview组合完成,加上了fragment的切换动画,效果类似于按钮点击切换的viewpager。1. 类似于微信好友列表按首字母定位自定义view实现并解决RecycleView 的不能准确定位的问题记录一下主要流程,首先是自定义view的初始化,在这个回调方法中获取测量后的宽度和每一小格的高度,这里说一下这个...
2019-08-27 15:44:26
130
原创 周记4
1. 使用TabLayout + ViewPager布局 <com.google.android.material.tabs.TabLayout android:id="@+id/invest_tablayout" android:layout_width="match_parent" android:layout_height...
2019-08-27 08:12:14
149
原创 周记3
这周主要是重复造轮子的工作,与硬件刷卡,扫码的对接,和访问接口。在空余时间巩固知识。1. Android 的事件分发机制MotionEvent 就是事件事件分发一开始总是由外向内activity->window->view事件分发的三个重要方法1. public boolean dispatchTouchEvent(MotionEvent event)分发的方法...
2019-08-21 15:10:39
168
原创 周记2
1. RxJava & Retrofit 使用get请求//一般get请求@GET("Api/Token/GetToken")Call<GetToken> getToken(@Query("account") String account,@Query("password") String password);//get请求加入动态头@GET("Api/Us...
2019-08-05 14:35:13
167
原创 周记1
1. Android studio grade配置relesase/debug版本的签名文件,需要放在defaultConfig和buildTypes 之前signingConfigs { release { keyAlias 'xierapp' keyPassword 'xierandroid123' ...
2019-08-03 14:17:53
276
原创 排序之简单选择排序
直接上代码 /** * @Params : * @Author :scy * @Date :2019/6/20 * description:简单选择排序 */ public static int[] simpleSelectSort(int[] array) { int len = array.length; ...
2019-06-21 12:48:25
195
原创 排序之直接插入排序
/** * @Params : * @Author :scy * @Date :2019/6/20 * description:直接插入排序 */ public static int[] directInsertSort(int[] array) { int len = array.length; int ...
2019-06-21 12:31:11
102
原创 排序之冒泡排序及其优化
直接上代码/** *@Params : *@Author :scy *@Date :2019/6/20 * description:冒泡排序及其改进 * */ public static int[] bubbleSort(int[] array) { int len = array.length; i...
2019-06-20 13:05:24
148
原创 Android各版本的差异
名字 版本号 对应Api 内容更新 时间 Jelly Bean 软糖 4.1 16 2012.6.28 KitKat 巧克力 4.4...
2019-06-08 09:41:24
571
原创 抽象类和接口的区别
抽象类 接口 相似性 都可以有抽象方法,并且要被子类重写,都不能被实例化。 意义 对根源的抽象 对动作的抽象 基本区别 类,可以有普通方法,多继承,属性可以随意定义,可以有构造器,可以有初始化块 ...
2019-06-07 10:11:00
113
原创 java中 == ,equals , hashCode区别
java中 == ,equals , hashCode区别基本数据类型==是比较值,复合数据类型==是比较存放的地址,equals默认也是比较存放地址,如果重写了equals 方法,那就按照重写的。例如String Integer Date比较的是值不同。hashCode 是提高散列结构存储中查找的效率equals和hashCode需要同时覆盖两个对象equals返回true...
2019-06-07 10:08:54
128
原创 RecyclerView的多种item显示简记
引入库 //代码简化 annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' implementation 'com.jakewharton:butterknife:8.8.1' //recyclerView implementation 'com.android.suppor...
2019-04-24 10:50:14
250
原创 Android 消息机制
1. 什么是消息机制Handler是Android消息机制的上层接口,常用于将一个任务切换到所在线程执行(更新UI),Handler的运行机制就是Android的消息机制。2. Handler附带1. Message消息。2. MessageQueue消息队列。以单链表的形式存储消息。3. Looper无限循环的去查找是否有新消息,有就去处理,否则一直等待...
2019-03-13 11:38:19
144
原创 Android性能优化
1. 为什么要做性能优化Android设备是一种移动设备,内存和CPU 都有限,过多使用内存会OOM,过多使用CPU(大量耗时操作)会ANR。2. 如何做性能优化,有哪几种布局优化 绘制优化 内存泄漏优化 响应速度优化 LIstView优化 BitMap优化 线程优化3. 各类优化方法介绍布局优化1. 使用简洁高效的ViewGroup(例如Linear...
2019-03-12 15:49:14
109
转载 SharedPreference 对象的几种获取方式
1.this.getPreferences (int mode)通过Activity对象获取,获取的是本Activity私有的Preference,保存在系统中的xml形式的文件的名称为这个Activity的名字,因此一个Activity只能有一个,属于这个Activity。 2.this.getSharedPreferences (String name, int mode)因为Ac...
2019-02-08 11:01:40
2564
原创 第一行代码-常见网络工具基本使用
webView settings = webview.getSettings();settings.setJavaScriptEnabled(true);webview.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view...
2019-01-31 19:56:23
273
原创 第一行代码-多媒体通知 相机 相册 音频视频播放
通知 send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Notification notification = null; Intent in...
2019-01-31 16:11:32
240
原创 第一行代码-数据持久化笔记
简单介绍数据存储的几种常见方式 File 文件存储:写入和读取文件的方法和 Java中实现I/O的程序一样。 FileOutPutStream fos = openFileOutPut("filename",context.MODE_PRIVATE);//追加文件时MODE_APPEND 目录在data/data/files///同理openFileInput()//第二种...
2019-01-31 10:13:32
257
原创 第一行代码-fragment的基础笔记
1. fragment的用法 FragmentManager manager = getSupportFragmentManager(); Fragment fragment = manager.findFragmentById(R.id.base_container); if (fragment == null) { fragment = getFr...
2019-01-30 18:01:46
355
原创 第一行代码-常用adapter笔记
1. ListView 自定义的adapter不关心具体展示项,只需要负责展示项的滚动 adapter负责创建列表项的所有视图 class PhotoAdapter extends BaseAdapter { @Override public int getCount() { return photos.size(); } @Ove...
2019-01-30 15:19:59
291
原创 第一行代码-活动启动模式笔记
设置活动的启动模式的两种方法android:launchMode="singleTAsk"intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);四种启动模式介绍1. standard 默认标准模式启动2. SingleTop 回调onNewIntent() 栈顶复用,不会新建,但是不再栈顶还是会新建。3. Sing...
2019-01-30 10:46:20
285
原创 第一行代码-基础理论知识介绍笔记
1. Android系统架构 1.Linux 内核层:为硬件提供驱动,例如FI-WI驱动,相机驱动等. 2.系统运行库层:一些C/C++ 库来为Android系统提供主要特性支持SQLite.OpenGL/ES WebKit等同时还有一个Android运行环境,5.0之前每一个Android应用都有自己的Dalvik虚拟机实例,5.0之后改成ART环境. 3....
2019-01-30 09:55:15
213
原创 window10 修改jdk版本,从jdk10降到jdk1.8,java -version版本没有变化的问题解决
我是jdk10的环境,先安装jdk1.8。 修改javahome不细说了。 关键是找到C:\Program Files (x86)\Common Files\Oracle\Java\javapath下面的三个文件java.exe javaw.exe javaws.exe,替换文件在jdk1.8的bin目录下面的 。 问题解决。...
2018-11-26 13:03:13
3566
原创 activity和fragment fragment和fragment之间的通信
1. activity和fragment之间的通信1. 接口回调。2. 通过设置fragment的argument。3. 通过getActivity()调用activity的公共方法。4. 通过Intent启动activity 附加信息。2. fragment之间的通信1. 通过寄宿的activity获取另一个fragment的实例并调用其方法。2. 接口回调3. ...
2018-09-13 14:47:25
3429
原创 MVC MVP MVVP 特点区别简要归纳
mvcmodel view controller用户 ->操控界面 ->业务逻辑 ->更新数据 ->更新view特点:单向通信,view直接访问model总结:1. view依赖model,view带有业务逻辑,更改view相对困难 2. Controller会变得很复杂mvpmodel view Presenter用户 ->操控vi...
2018-09-12 09:36:10
1860
原创 GC机制和算法
1. 概述Java GC 垃圾回收机制,Java 和 C++的主要区别之一出现问题: 内存泄漏,内存溢出(OutofMemory)为何要使用: 为了写出高性能的应用程序 2. jvm内存管理基本知识详见2.1 方法区存放类信息(类名,修饰符),类中静态变量,final常量,类属性和方法方法区是全局共享的,在一定条件下它也会被GC。当方法区使用的内存超过它允许的大...
2018-09-07 10:23:49
585
原创 Java虚拟机jvm和Java内存模型jmm浅尝
1. 需要了解的知识1. 并发编程需要处理两个关键问题 线程同步和通信2. 线程通信机制有两种 共享内存(隐式)和消息传递(显示)3. Java中是采用共享内存模型来进行通信2. 了解Java虚拟机模型(红色字体区域为线程共享,其余为线程私有)(直接内存不是在运行时数据区内)1. 程序计数器一块较小的内存,可看成当前线程执行字节码的行号指示器分支、循环、跳转、异常处...
2018-09-06 10:44:24
7303
原创 Android基础知识点梳理(4)
httpUrlconnection示例查看网页源码 利用HttpURLConnection访问网站获取源码 public void click(View v){ new Thread(){ public void run() { ...
2018-08-27 13:58:57
142
原创 Android基础知识点梳理(3)
SQlite数据库 编写类继承SQLiteOpenHelper publicMySqlOpenHelper(Contextcontext){ //上下文数据库名结果集(游标)数据库版本 super(context,"sqlite.db",null,1); } MySqlOpenHelper helper=new MySqlOpe...
2018-08-27 10:08:04
201
原创 Android基础知识点梳理(2)
1.测试相关的概念 所有测试环境都封装到了AndroidTestCase 1.直接创建AndroidtestProject 2.只需要定义一个类继承AndroidTestCase 断言:assertEquals(期望值,对象); 配置函数库 application中<uses-library android:name="a...
2018-08-26 11:12:16
166
原创 Android基础知识点梳理(1)
1.1G-4G介绍 1G 大哥大 2G 小灵通 gsm 发短信 wap.baidu.com 3G 沃 7.2M 4G :LTE 100M/s ...
2018-08-24 10:59:58
257
原创 Android service详解
1. android中什么是serviceservice是四大组件之一,是一种计算型组件,在后台一直执行,直到调用stopSelf()或者stopService(),用户感知不到,但是它任然是运行在主线程,做耗时操作的时候还是需要开辟子线程。IntentService是Service的改良,它自动运行在子线程,而且会自动关闭。2. 如何开启一个服务开启服务有两种方式,都是去新建类...
2018-08-20 16:45:49
206
原创 Android Contentprovider详解
1. 什么是内容提供者内容提供者主要在不同的程序之间实现数据的共享,例如你自己做了一款app,但是需要获取你的手机通讯录的信息,这时候就需要内容提供者了,你也可以把自己APP的信息通过内容提供者,向外提供接口,供别的应用来获取。2.使用ContentResolver 来获取通讯录信息需要打开联系人权限READ_CONTACTS,并且动态申请权限。通过Context.getC...
2018-08-20 15:03:05
440
c3p0-0.9.5-pre1.jar
2017-10-22
Apache-tomcat-7.0.81.zip
2017-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人