Android
分享Android学习笔记
Incimo
这个作者很懒,什么都没留下…
展开
-
Android Material Design 组件集合Demo,附源码地址 :CimoGallery,仅供学习
Android Material Design 实战 :CimoGallery作者:incimo时间:2020/06/14CimoGallery v1.0.1 beta 版本初 为了加深对Android开发的理解。同时在B站上看到了longway777 这位大佬的视频,感觉确实是不可多得的好教材,给了我很多灵感和帮助,因为大佬用的是kotlin写了一个简易版的画廊Demo,于是我就想能不能用Java也实现一个Demo,顺便把开发时常用的一些功能加上,顺便给正在学习的同学们一点帮助,给Andr原创 2020-08-29 00:04:10 · 19211 阅读 · 2 评论 -
手把手教你在自己的Android app中引入支付宝沙盒支付功能(可用于课设和测试)
1 进入支付宝开发者中心,设置自己的沙箱环境1.1 进入支付宝开发者中心1.2 进入沙箱开发界面1.3 下载沙箱app1.4 使用买家账号登录你的支付宝沙箱2 设置应用私钥与公钥2.1 下载支付宝开发平台开发助手https://opendocs.alipay.com/open/291/introduce2.2 自动生成私钥与公钥2.3 回到沙箱界面配置你的应用公钥2.4 下载支付宝支付Demohttps://opendocs.alipay.com/open/54/1045原创 2020-06-27 02:38:26 · 11388 阅读 · 0 评论 -
Android studio 4.0 .gitignore配置模板
*.iml.gradle/local.properties/.idea/caches/.idea/libraries/.idea/modules.xml/.idea/workspace.xml/.idea/navEditor.xml/.idea/assetWizardSettings.xml.DS_Store/build/captures.externalNativeBuild.cxx原创 2020-06-23 01:18:18 · 8479 阅读 · 0 评论 -
Android 子fragment中获取父fragment中的控件
下面展示了如何在子fragment中获取父fragment的底部导航控件BottomNavigationView bottomNavigationView = (BottomNavigationView) getParentFragment().getView().findViewById(R.id.bv);主要需要强转为指定的控件原创 2020-06-13 01:28:50 · 9317 阅读 · 0 评论 -
Android: ViewPager2 结合 TabLayout (Java代码模板)
Tab标签名 private static final String[] TAB_LABEL = {"label1","label2","label3"};viewPager2初始化并应用 /** * viewpage2初始化并应用 */ private void initViewpager2() { viewPager2.setAdapter(new FragmentStateAdapter(getParentFragmentManager(原创 2020-05-23 23:22:57 · 7850 阅读 · 0 评论 -
jetpack:使用navigation从fragment_1切换到另一个fragment_2,再返回fragment_1时,fragment_1中的viewpager出现空白页面
jetpack中的navigation可以通过设置app:defaultNavHost="true"来达到拦截返回键并返回上一个fragment的效果,但是今天遇到一个问题:fragment_1中有viewpager,使用navigation从fragment_1切换到另一个fragment_2,再返回fragment_1时,fragment_1中的viewpage为空白页面。一开始从viewpager下手,但是发现viewpager都是正常操作,应该是fragment_1没有成功初始化viewpage原创 2020-05-10 03:11:50 · 8540 阅读 · 0 评论 -
Android jetpack,paging实现分页加载,LivePagedListProvider通过构造方法将PagedList与DataSource联系
kotlin:val pagedListLiveData = PixabayDataSourceFactory(application).toLiveData(1)Java:PixabayDataSourceFactory pixabayDataSourceFactory = new PixabayDataSourceFactory(getApplication());LiveData<PagedList<T>> pageListLiveData = new LivePag原创 2020-05-08 20:32:35 · 8049 阅读 · 0 评论 -
Android:BottomNavigationView设置noActionbar主题后闪退的解决方法,以及另外两种实现方法
Android Studio自带的BottomNavigationView项目设置了noActionbar这个主题就会闪退,不设置noActionbar的话就无法使用toolbar,蛋疼。下面我会两种BottomNavigationView的实现方法:一种是Android Studio自带的项目实现,使用Jetpack的Navigation做为页面的切换工具,以及说明为什么自带的基础模板不能设...原创 2020-04-28 17:29:34 · 22298 阅读 · 7 评论 -
Android 设置状态栏透明和状态栏文字自适应
1.设置状态栏透明方法 public static void makeStatusBarTransparent(Activity activity) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { return; } Window windo...原创 2020-04-27 18:46:34 · 8195 阅读 · 0 评论 -
Android:在service和activity之中,实现音乐播放进度条传递信息的两种方式,MediaPlayer做音乐播放器采坑以及解决办法
实现播放时的进度条显示,或是定时从service获取某些信息,是我们日常开发中经常遇到的需求,下面介绍当音乐再service中运行时,activity如果获取音乐进度信息的两种方式:一、在activity中建立消息接收机制我们需要在activity中建立一个用于接收信息的handler(handler简单的说是在android中可以发送消息和也可以处理消息的一种机制,当然它的用途更加强大,有时...原创 2020-04-26 15:26:56 · 21623 阅读 · 1 评论 -
Android 工具方法:动态获取读写权限
public Boolean checkPermission() { boolean isGranted = true; if (android.os.Build.VERSION.SDK_INT >= 23) { if (this.checkSelfPermission(Manifest.permission.WRITE_EXT...原创 2020-04-21 23:46:24 · 8538 阅读 · 0 评论 -
Jetpack:Cannot create an instance of class myViewModel...解决方法
刚刚在用mvvm写一个音乐播放器的时候遇到了这个问题,用的是正常的viewmodel实例化操作,我特意打开之前的项目来看确定没有写错代码之后,还百度了一下,好像并没有什么准确的答复,不过,我自己研究了一下发现是和myViewModel这个我自定义类有关,看一下正常实例化时候的代码:myViewModel = new ViewModelProvider(this).get(Music.clas...原创 2020-04-21 18:22:56 · 13817 阅读 · 2 评论 -
Android studio 运行AVD出现C:\Users\XXXXX.emulator_console_auth_token': emulator console...解决办法
Android studio 3.5 运行AVD出现10:12 Emulator: ERROR: Unable to access 'C:\Users\璋捣灞盶.emulator_console_auth_token': emulator console will not work10:12 Gradle build finished in 10 s 159 ms10:12 ...原创 2020-02-26 12:00:53 · 10817 阅读 · 9 评论 -
Android:一键可视化操作为控件添加ripple(水波纹)点击效果
ripple点击效果最近很火,实现方式有很多种,包括用xml类配置属性动画,用java代码来动态绘制等,其实Android Studio 3.0 以上都自带了这个功能我就用最简单的初始界面来演示一下:1.点击控件,然后在右边属性栏搜索clickable属性,将其设置为true2.搜索background属性,在background属性中搜索sele,选择图中的属性,确定即可看一下效果...原创 2020-04-19 18:41:49 · 7995 阅读 · 0 评论 -
Android: ConstraintLayout工具类,用于动态修改ConstraintLayout中控件四个方向的依赖关系
最近要用Android做一个课程表,我的思路是用ConstraintLayout中的辅助线画出一个类似的表格布局然后从数据库中读取课程信息,动态生成一个个Botton按钮做为课程的控件(Botton自带Tooltips属性,这样可以浮动显示出课程的详细信息),并且根据每一次课程的上课时间和地点,绘制这次课程四个方向的依赖,达到准确的显示效果。读取课程数量后动态添加Botton简单,但是添加四...原创 2020-04-19 18:07:15 · 8515 阅读 · 0 评论 -
Android 如何动态添加MaterialButton按钮
如果按照普通的方法用java代码创建MaterialButton,会曝出关于:MaterialButton这个类的实例必须拥有Theme.Materialcomponents这个主题, @RequiresApi(api = Build.VERSION_CODES.O) public MaterialButton createMaterialButton(){ //必须...原创 2020-04-17 18:35:29 · 8062 阅读 · 0 评论 -
在fragment和activity中 如何对dialog中的spinner取值
正常情况下我们可以直接在dialog里写上我们想要的view,但是有时候view太多的话,我们就需要自定义一个dialog,其实就是将dialog的内容替换为我们写好的layout文件。比如我创建了一个layout文件:<!-- 这个文件名是allclasstime.xml --><LinearLayout xmlns:android="http://schemas.and...原创 2020-04-16 02:33:40 · 7780 阅读 · 1 评论 -
Android fragment和activity中隐藏软键盘
对于fragment在onclick事件中添加:InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(getActivity().getWindow().getDecorView...原创 2020-04-09 21:03:39 · 8006 阅读 · 0 评论 -
Android: BroadcastReceiver是什么鬼?
1.BroadcastReceiver是什么鬼?Broadcast直译广播,举个形象的例子来理解BroadcastReceiver:记得以前读书的时候,每个班级都会有一个挂在墙上的大喇叭,用来广播一些通知,比如,开学要去搬书,广播: “每个班级找几个同学教务处拿书”,发出这个广播后,所有同学都会在同一时刻收到这条广播通知, 收到,但不是每个同学都会去搬书,一般去搬书的都是班里的"大力士",这群...转载 2020-04-08 10:33:38 · 8052 阅读 · 0 评论 -
Android Jetpack :Navigation 学习笔记
Android在2019今年的开发者大会上提出了一个App只有一个activity的建议,因此作为未来android开发规范组件库的Jetpack也自然要遵循这个建议。所以Navigation正常来说是用于fragment的导航而不是activity的导航。同时,Jetpack提倡使用图形化界面对前端进行编程,所以使用Navigation时,用图形化...原创 2020-03-29 21:06:21 · 7697 阅读 · 0 评论 -
Android Jetpack 使用Navigation时出现XXX.XXXX must implement OnFragmentInteractionListener解决方法
在使用最新的Jetpack时,用Navigation来导航到不同的fragment时出现了这个问题,百度了一下,发现jetpack实在是太新了,很多问题都还没有解决方式,毕竟2019年才逐步完善的东西,现在年初遇到问题至少在国内很难在网上有解答,o(╥﹏╥)o也许这就是一直用最新的东西的难处吧。算了,还是自己研究…先还原一下问题:我要实现图中蓝色线的跳转:下面是跳转代码:结果报错:从...原创 2020-03-29 01:43:10 · 886 阅读 · 1 评论 -
ViewModel LiveData DataBinding学习笔记
自学jetpack的ViewModel、LiveData、DataBinding这三个东东之后,照着教程做了一边,记录一下思路与总结:先po一下教学视频链接,讲的真的是太好了,好看得我都快哭了,强烈推荐https://www.bilibili.com/video/av50954019?p=10https://www.bilibili.com/video/av50954019?p=11htt...原创 2020-03-22 21:49:35 · 550 阅读 · 0 评论 -
Android点击按钮旋转屏幕
public void getScreenMessage(){ Configuration cfg = getResources().getConfiguration(); if ( cfg.orientation == Configuration.ORIENTATION_LANDSCAPE ){ MainActivity.this....原创 2020-03-23 19:46:46 · 884 阅读 · 0 评论 -
java计算工具类 :中缀表达式转波兰后缀式并计算出结果
本文原算法原文来自https://blog.csdn.net/jdbfvhxx/article/details/98441580 by @ ^ @对原算法增加了取模运算,并且做了适当的调整,每次运算之后自动清空栈和队列,使其更容易被重复使用:工具类ReversePolishMultiCalc源码如下:import java.util.ArrayList;import java.util...原创 2020-03-24 02:59:16 · 262 阅读 · 1 评论 -
Jetpack: ViewModle + SharedPreferences实现保存数据的简单思路
1.ViewModle生命周期贯穿整个activity,使用SavedStateHandle类来临时保存数据,保证数据不被旋转屏幕等ondestroy()操作摧毁2.SharedPreferences将简单的数据以xml文件形式保存在本地,并提供了基本的读写操作因此使用ViewModle + SharedPreferences的流程如下:读:用SharedPreferences的getXX...原创 2020-03-24 21:51:19 · 514 阅读 · 0 评论 -
jetpack设置了dataBinding{enabled = true}后没有出现ActiviyMainBinding类的解决办法
1.当设置了dataBinding{enabled = true}后要先到layout里转换成dataBinding响应的xml后,才会生成ActiviyMainBinding类2.要在layout文件的data标签加上指向应用类后才能在activity里用binding的setXXXX方法...原创 2020-03-24 22:02:23 · 2121 阅读 · 0 评论