android
为你而来_
简单记录,日常总结
展开
-
Git clone The requested URL returned error: 403 错误的解决办法
git clone的时候直接加上用户名和密码原创 2022-07-30 17:06:17 · 1060 阅读 · 0 评论 -
recycleview嵌套viewpager与Fragment结合使用
什么是ViewPagerViewPager是v4包中的一个类,继承自ViewGroup,是一个容器。ViewPager布局管理器允许翻转带数据的页面,可以通过实现PagerAdapter来显示视图。ViewPager经常用来连接Fragment,它能够方便的管理每个页面的生命周期,ViewPager通过适配器管理Fragment,常用的适配器有FragmentPagerAdapter和FragmentStatePagerAdapter。一、布局中添加控件使用场景:recycleview中嵌套vie原创 2022-05-16 08:01:44 · 1121 阅读 · 0 评论 -
git统计代码行数
实际测试发现,当前我们修改了一行代码提交后,通过git log 统计到add +1 和 remove +1。 修改一行代码,相当于删除一行再添加一行,代码总数不变。因此我们可以得到以下推理:ADD = new + editREMOVE = del+ edit因此,对于Git而言,新增+修改就等于 Add 代码行数,最终实际增加的代码行数等于add - remove。查询指定人指定时间段的代码量git log --all --author=‘XXX’ --since=2016-08-17 --unt原创 2022-04-04 14:21:43 · 3254 阅读 · 0 评论 -
Android中切换到主线程执行的方法
方法一:runOnUiThread(Runnable runnable)在Acitivity中直接调用runOnUiThread或者将Activity的context对象传入子线程调用。例如:runOnUiThread(new Runnable() { public void run() { textView.setText("更新textView"); }}方法二:handler.post(Runnable runnable)如果是在主线程可以直接new一个Ha原创 2022-03-08 09:32:30 · 2640 阅读 · 0 评论 -
Handler基本使用
handler结合Thread使用 //1、在主线程里添加handler实例 Handler handler = new Handler(){//匿名实现类 @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) {//加载完成原创 2022-02-21 19:58:50 · 1103 阅读 · 0 评论 -
NestedScrollView 布局不能撑满屏幕
最近写了一个NestedScrollView嵌套recycleview的功能,数据为空时,使用adapter设置空布局显示。不能全部铺满,只显示一行。解决办法:android:fillViewport="true" <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent"原创 2021-10-31 06:17:55 · 462 阅读 · 0 评论 -
Android中Handler延迟执行、定时任务
android项目中经常会用到延迟操作,定时任务。做此记录1、通过handler执行延时操作new Handler().postDelayed(new Runnable(){ public void run() { //TODO } }, 5000); //5秒2、定时任务,间隔固定时间执行某项操作final Handler handler = new Handler(); Runn原创 2021-10-26 09:43:12 · 2470 阅读 · 0 评论 -
Push to origin/master was rejected
在git上新建仓库后,首次提交会出现这个问题。记录一下解决办法依次输入以下命令git pullgit pull origin mastergit pull origin master --allow-unrelated-histories原创 2021-10-26 09:29:16 · 58 阅读 · 0 评论 -
Andriod生成aar包、引用aar包
一、生成aar包将 apply plugin: ‘com.android.application’ 改为 apply plugin:‘com.android.library’去掉applicationId点击右侧的assembleRelease,看到module层的outputs文件夹下生成了.aar文件二、引用aar包将aar包拷贝进libs目录下配置module下的build.gradle文件repositories { flatDir { d原创 2021-08-03 10:46:55 · 515 阅读 · 1 评论 -
关联gitee命令
1、先在gitee上创建项目2、在本地创建空文件夹,git clone 项目地址3、三步命令关联原创 2021-04-21 16:23:00 · 97 阅读 · 0 评论 -
ERROR: Failed to resolve: com.android.support:appcompat-v7:23.0.1
项目在另一台机器上运行时,爆了这个异常,终于解决了;需要添加google()来解决;推荐你添加此方法到项目构建.gradle(app)文件中的buildTypes添加:repositories { maven { url "https://maven.google.com" }}...原创 2021-03-24 16:14:29 · 392 阅读 · 0 评论 -
Android横向ProgressBar
**横向带进度的进度条,通过设置ProgressBar的Style为style="?android:attr/progressBarStyleHorizontal"设进度条背景自定义进度条背景,新建一个progressbar_horizaontal.xml文件<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"&原创 2021-02-20 10:35:08 · 1408 阅读 · 0 评论 -
点击事件的穿透
当A页面被B页面覆盖的时,B页面的背景色为半透明。要再布局文件中设置B页面android:clickable=“true”,否则会出现点击穿透事件;部分点击再B上面的事件再A上实现原创 2020-11-12 13:59:44 · 989 阅读 · 0 评论 -
Android SQLite 之 增、删、改、查
初始化数据库DatabaseHelper databaseHelper=new DatabaseHelper(MainActivity.this); SQLiteDatabase db=databaseHelper.getReadableDatabase();增String sql = "insert into user(username,password) values ('" + etUserName.getText().toString().trim() + "','" + et原创 2020-11-10 16:44:24 · 117 阅读 · 0 评论 -
java集合,求交集、并集和差集
public void main() { // 注意:一定要使用创建对象的格式创建数组 Integer[] a = new Integer[] { 6, 3, 9, 3, 2, 4, 5, 7 }; Integer[] b = new Integer[] { 5, 8, 6, 2, 1, 9 }; List _a = Arrays.asList(a); List _b = Arrays.asList(b); // 创建集合 Collection realA = new ArrayList<原创 2020-10-20 16:43:25 · 232 阅读 · 0 评论 -
java去除List中的重复元素
利用HashSet元素不重复的特性(如果泛型是对象,那么需要实现equals和hashCode方法)public void testOtherList(){ //新建List集合 List nowList=new ArrayList(); //加入元素 nowList.add(1); nowList.add(2); nowList.add(2); nowList.add(55); nowList.add(3); nowList.add(1); nowList.add(56); now原创 2020-10-20 16:40:36 · 214 阅读 · 0 评论 -
java找出2个集合相同和不同的元素
找到2个集合中相同和不同的元素public void getCommonElement(){ //集合一 List<String> _first=new ArrayList<String>(); _first.add("jim"); _first.add("tom"); _first.add("jack"); //集合二 List<String> _second=new ArrayList<String>(); _second.add("ja原创 2020-10-20 16:37:50 · 372 阅读 · 0 评论 -
Java判断list集合中有没有重复元素
public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("a"); list.add("a"); list.add("b"); list.add("c"); HashSet<String> hashSet = new HashSet<>(); for (String原创 2020-10-20 16:30:27 · 2830 阅读 · 0 评论 -
数据库查询、Cursor使用
数据库查询、Cursor使用DaoSession daoSession = DaoManager.getInstance().getDaoSession();Cursor cursor = daoSession.getDatabase().rawQuery(" SELECT ID FROM DRUGSTORE_COMMODITY ", null);cursor.moveToFirst(); while (!cursor.isAfterLast()) { allGo原创 2020-10-20 16:23:02 · 427 阅读 · 0 评论 -
greendao清除数据库,继续操作数据库
DaoSession daoSession = DaoManager.getInstance().getDaoSession();Database database = daoSession.getDrugstoreCommodityDao().getDatabase();DaoMaster.dropAllTables(database, true);DaoMaster.createAllTables(database, true);操作数据库开始原创 2020-07-15 15:29:09 · 1254 阅读 · 0 评论 -
RadioButton设置checked无效
RadioGroup中每个RadioButton都设置checked(false)后,再设置checked(true)无效先调用RadioGroup.clearCheck(),在调用RadioButton.setChecked(false)。原创 2020-06-08 17:08:37 · 1204 阅读 · 0 评论 -
android调用js,js调android
一、js调android1.创建后简单实现下,js调用android中的方法。通过οnclick=“window.android.startFunction()” window.android.方法名 调用android方法<!doctype html><html><body>这里是HTML <br/><h1><div id="content">HTML内容显示</div></h1><br/&原创 2020-06-02 09:51:30 · 505 阅读 · 0 评论 -
List转换成String数组
List<String> list = new ArrayList<String>(); list.add("a1"); list.add("a2"); String[] toBeStored = list.toArray(new String[list.size()]);原创 2020-05-15 08:57:51 · 867 阅读 · 0 评论 -
Git使用
Android Studio结合Git使用这个哥们写的很详细原创 2019-12-11 18:31:40 · 200 阅读 · 0 评论 -
PopupWindow在Android7.0系统中显示位置错误
想要popWindows正常在Android7.0系统正常显示,我们需要重写popWindows的showAsDropDown方法:public class PopWindowSelectCondition extends PopupWindow { ....代码省略.... @Override public void showAsDropDown(View ...原创 2019-12-09 15:32:14 · 130 阅读 · 0 评论 -
安卓应用程序的启动流程(源码分析)
> #### ActivityManagerService下的systemReady方法如下:public void systemReady(final Runnable goingCallback) { ...// 调用了ActivityStack中的resumeTopActivityLocked去启动Activity mMainSta原创 2016-05-15 08:59:13 · 620 阅读 · 0 评论 -
EventBus框架的介绍和和基本用法(零基础都可以听懂的)
EventBus:让组件之间的通讯更简单,代码更简洁,更快,更小(小于50k),已经有100000000+的使用量。Activity,Fragment,Thread,Services等等之间的通讯。以前Activity之间的通讯是由Intent,Activity与Fragment之间的通讯使用getActivity,Threads之间用handler,Services之间的通讯是Inten原创 2016-05-15 09:11:40 · 340 阅读 · 0 评论 -
Android6.0权限动态分配
以是否拥有读取内存卡权限为例:第一步:定义常量 public static final int REQUET_WRITE_STORAGE = 1111;//读取存储卡请求码第二步:检查权限,没有授权去授权,有的话直接实现你想要的功能//检查是否拥有读取内存卡权限 if (ContextCompat.checkSelfPermission(ProjectDetailActivity.this,原创 2017-07-21 10:16:22 · 358 阅读 · 0 评论 -
Dialog自动弹出的两种情况
弹出Dialog 并且软键盘随着弹出原创 2017-12-04 11:59:21 · 1358 阅读 · 0 评论 -
应用中双击返回键退出程序
双击返回键退出程序原创 2017-12-11 16:13:01 · 184 阅读 · 0 评论 -
RecyclerView中列表嵌套列表的实现方法
RecyclerView中嵌套列表的一种实现方式,现在这个RecyclerView的主布局中最简单的定义布局,记载一下,方便使用。一、创建Adapterpublic class FmBackFeeAdapter extends BaseQuickAdapter<FmBackRoomBean.FmContractBillListBean, BaseViewHolder> { ...原创 2019-05-16 17:17:30 · 2860 阅读 · 0 评论 -
TabLayout设置选中字体大小粗细
最近项目有一个需求,就是标题的选中项需要加粗,由于项目中使用的都是TabLayout 而TabLayout又没有相应的属性支持,只好自己想办法了!TabLayout 可以自定义选中项的UI,所以可以从这方面入手,最后的解决办法是为TabLayout 添加一个监听,并在监听中自定义选中项UI,代码和布局文件如下mTabLayout.addOnTabSelectedListener(new ZT...原创 2019-06-24 20:54:12 · 6362 阅读 · 0 评论 -
根据日期计算星期几
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateTools { /** * 日期转星期 * * @param datetime ...原创 2019-06-24 20:56:34 · 526 阅读 · 0 评论 -
安卓系统的启动流程(源码分析)
第一步:Android 的执行流程,首先系统会启动Linux内核,然后内核会加载各种数据结构跟驱动程序,当驱动启动完毕之后,就会开启Android系统并加载系统第一个用户级别程序init,然后在init的main方法中去创建各种文件夹mkdir()及挂载设备目录mount(),初始化log日志,跟解析init.rc配置文件。int main(int argc, char **argv)原创 2016-05-15 08:37:52 · 528 阅读 · 4 评论