Android
文章平均质量分 55
Android开发相关的文章
黑心的奥利奥
直上云天
展开
-
应用开发技术巩固指南
起初毕业前夕,个人已经开始自学Android开发,由于没有指导,所以起步很难,写的代码也规范,逻辑不清,技术止步于皮毛,很多东西都不理解。后来步入工作,逐渐熟悉了这个方向,在成都做了一年半的Android开发。在这一年半里,理解了基本的开发技术,掌握了应用前端的开发能力,综合收获的话就是了解了Google 的 Jet Pack库, compose等。后来由于种种原因,离开成都,去了深圳。深圳前半年,在一家借贷公司做马甲,毫无技术突破可言,所以我跑路了。原创 2024-03-13 11:05:53 · 390 阅读 · 0 评论 -
Android开发,客户端连接本地服务器,数据存储进Mysql
客户端连接本地服务器,将数据存储进Mysql,实现客户端与服务器的交互。本博客由一位小白所写,故所有的代码,开源框架都会以萌新的角度讲解,如果有任何的错误,欢迎指正,共同进步。本博客目的:实现安卓客户端与本地服务器的数据发送与接收,实现交互。实现本地服务器与Mysql数据库的连接,与数据存储。小白说明:1.安卓sdk已经自带了SQLite数据库,很多本地数据都可以直接存储于这个轻量级数据库,并且有许多优秀的开源框架,如greenDao等。但是,一个非单机的安卓应用是不可能将核心数据存储于本地原创 2020-09-03 22:15:34 · 2846 阅读 · 6 评论 -
Android开发,关于Json的解析
Json本人纯属小白,本博客只是个人记录,不推荐作为参考。Json作为一种新型轻量级数据类型,对于数据上传等,服务器返回数据等方面应用非常广泛,从一定程度上提升了数据加载效率。将以下Json类型数据以对象的形式进行载入以对象形式进行载入:最里层public class MostLess(){ private String name; private int value; private String minute; public MostLess(String原创 2020-09-02 19:08:31 · 122 阅读 · 0 评论 -
Android开发,从网上下载指定地址的图片
Android开发,从网上下载指定地址的图片安卓客户端界面的图标分为两类,一类是存在 resource中的,这类图片是固定不变的,比如app下方标题栏“消息”,“联系人”,“设置”等图标是不变,除非版本更新才可能变化。二类是客户端请求服务器,服务器响返回相应的图片,准确说应用的大部分图片背景都是从服务器返回的。这个demo中,涉及Bitmap类型,对于Bitmap的相关知识,小白不是特别懂,感兴趣的朋友可以深入了解以下:关于bitmap的总结-----徐福记456具体操作方法如下:在Andr原创 2020-09-01 00:14:47 · 322 阅读 · 0 评论 -
Android开发,http网络请求网页基本操作
http网络请求基础操作在安卓项目开发中,很多时候需要给客户端传送服务器提供的文字,图片,音频,视频,网页等,也需要将用户的操作反馈给服务器,这些就涉及了网络传输协议的知识。http的常用简单请求方式为 GET和POST, 较为高级的可以传输大部分类型的数据,由Content-Type进行标记。本文,介绍一个简单的,将百度网首页请求获取至客户端界面,本人也是个 萌新小白,如有错误,请指正,非常感谢。url内容的获取一般由以下步骤:1.实例化URLURL url = new URL("http:/原创 2020-08-30 15:33:23 · 1679 阅读 · 1 评论 -
Android开发,GreenDao常用单表查询方法、多表查询
GreenDao框架提供非常便利的数据库操作,开发者并不用编写原生的SQL语句。单表查询:表名:Son字段名:姓名, 年龄, 性别 //条件查询 equals,查询儿子表中,姓名为 Jack的对象,eq对象是唯一的 Son son = sonDao.queryBuilder().Where(SonDao.Properties.姓名.eq("jack")).unique; //查询儿子表中,姓名 类似like 为 Jack的对象,不止一个原创 2020-08-29 22:22:05 · 1645 阅读 · 1 评论 -
Android开发,关于SharedPreferences持久性存储对象的实现
Androd提供了3种持久性存储数据的方法,分别是文件存储,SharedPreferences存储,和数据库存储。1.文件存储采用 openfileoutput()和openfileinput结合 Java流实现,方便快捷,以文件的形式保存在本地。但文本文件只能存储String单类型的数据,对于其他类型不太适用。2.数据库存储,通过服务器对于数据库的访问,使得数据存储变得安全稳定,持久,核心数据随时可以通过网络获取。但数据存储需要建数据库,建表,SQL语句实现等操作,相对较为麻烦,适合存储数据复杂而重要原创 2020-09-27 02:16:01 · 187 阅读 · 0 评论 -
Android开发,关于模拟器通知显示正常,真机测试真机通知无效问题
最近,小白弄一个通知,模拟器上通知显示还是正常的,但真机测试就出现通知不显示的问题,并且也不报错,嘿,可给它牛坏了。百度半天也没解决问题,然后就在真机的应用权限设置里发现,原来通知权限是默认关闭的,打开后,唉,好了,通知可以接收了。但问题又来了,用户又不知道要开启通知权限,所以我一开始是希望有没有相关的“危险权限”,借助运行时权限让用户打开应用时,直接让用户授权。比如://检测权限if(Context.checkSelfPermission(this,Manifest.permission.权限名)原创 2020-10-09 21:19:34 · 1043 阅读 · 0 评论 -
Android, 自定义View实现 加载进度动画,仿app“王者营地“
废话在前:昨天打王者,队友实在是太坑了,硬是卡在了星耀3。然后关闭游戏,打开王者荣耀助手,(王者营地),结果网络波动,界面一直在加载状态中,我就在想这个加载动画怎么能实现呢?两个小正方形左右移动,一个中间大正方形大小随着小正方形靠近而变大,疏远而变小,”加载中“后面的点变化1,2,3,4。废话不多说,直接上实现效果实现效果和“王者营地”的差不多,小正方形运动速度可能有些差异,但大抵一致。实现原理也很简单, 自定义view继承 TextView,因为有文字,所以继承Text View会好些。原创 2020-10-15 23:14:03 · 736 阅读 · 1 评论 -
Android自定义view变色字体实现
效果如图所示:可见要实现次效果,需要自定义View继承TextView(因为有文字,继承这个会好一些)。外圈是一个橙色的背景,形状为圆角矩形,以及底部有一个小直角三角形倒过来的形状。里面是变色文字。这里我们先实现外圈的橙色背景。绿色背景:在res文件夹中的values,新建一个文件attrs.xml, 这个是对于自定义view的声明文件。属性包括,圆角矩形的圆角半径长度、小直角三角形对角线一半的长度,以及颜色、圆角矩形高度、标题栏滑动方向。代码如下:<declare-style原创 2021-03-06 19:20:50 · 435 阅读 · 0 评论 -
RecyclerView+ViewPager实现App常用滑动标题栏
废话不多说,先看参考项目——微博:第二个参考项是 -----王者营地:要实现以上项目的ui界面(仅ui界面,不涉及数据、服务)思路很简单,但实现较为困难。1.滑动标题栏就是一个recyclerview,因为listview不好实现横向滚动、性能也不佳,HorizonScrollView虽然能实现横向滑动,但有一个自带的进度栏影响美观,并且HorizonScrollview对于子项item的识别非常模糊(也不能这么说,主要是我试了后效果很不理想。)2.滑动标题栏由一个recyclerview构成,原创 2021-03-06 19:30:15 · 449 阅读 · 4 评论 -
AndroidStudio选中代码后,光标自动变粗,自动变成ins模式的解决方法
昨天遇到的,因为更新了as,导致选中代码后,光标自动变粗,自动变成ins模式,查了好多资料都没用。1.问题描述:as当用鼠标选中代码后,光标会自动在代码后形成一个很粗的黑色块,按ins键无法取消,但只要不选中代码,按ins键又能够恢复,效果如图:2.解决方法Tools -> 取消Vim Emulator要是还没解决,那你要加油哈,我这个就是这样解决的...原创 2021-03-19 21:28:15 · 974 阅读 · 4 评论 -
AndroidStudio继承父类、实现接口无法提示重写方法,无法实时检测代码出错的解决方案
前几天将As更新到4.1版本以上后,就陆陆续续出现了一些问题。代码中,继承某个类后,无法提示类的重写方法实现某个接口,无法提示重写方法解决方案:File --> Settings --> Plugins --> 搜索插件 Android ButterKnife Zelezny看一下是否安装了这个插件,要是安装了,就把它卸载了。...原创 2021-03-22 11:58:04 · 1090 阅读 · 1 评论 -
Service not registered解决方案
我的问题如下,读者看一下是不是和我的一样。问题描述:在创建 前台服务时, 建立了一个通知Notification, 当在活动中使用bindService(intent, connection, BIND_AUTO_CREATE);后,我们启动了前台服务,模拟器也能看到通知的创建,然后我点击了通知。因为通知设置了setContentIntent(Pi),Intent intent = new Intent(this, Activity.class);PendIntent pi = PendInte原创 2021-03-22 23:53:50 · 5838 阅读 · 0 评论 -
关于NotificationCompat.Builder(this)错误,不起作用,不再使用解决方案。
原因:在Android.o版本以后,已经不再支持这个实例化通知的方法了,而是多加了一个channelid参数: Notification notification = new NotificationCompat.Builder(this,"one");那么这个参数如何获取呢?调用如下方法,参数分别为chanelid, channelname, 以及通知优先级。createNotificationChanneler("one","notiChannelName",3);//建立通知部分格式原创 2021-03-23 00:12:25 · 981 阅读 · 0 评论 -
Bitmap.decodeFile()返回的bitmap对象为空解决方法
Bitmap是一种广泛用于图片适配的类,能够将图片的不同形式以bit位转化。其中,Bitmap.decodeFile(filepath,options)方法能够获取指定的本地路径的图片,并转为为bitmap形式。由于太久没用过这个方法,结果今天的项目的本地图片获取一直是空文件,明明路径是对的。解决方法:在AndroidManifest.xml文件中, 在应用标签 <application中加入属性android:requestLegacyExternalStorage="true"...原创 2021-03-26 14:28:24 · 1483 阅读 · 0 评论 -
Android开发,GreenDao的简单使用
Android开发,GreenDao的简单使用,个人学习记录,错误很多,不供参考绿刀(自己编)数据库开源框架使用方法:1.在项目的app,单击右键选择Open Moudle Setting, 找到 app, 右方选择 Dependences依赖,选择”+”添加,输入greendao, 回车(需要网络),然后选择你想要版本. 我选的是“de.greenrobot:greendao:2.1.0”**2.在项目名上,单击右键选择 new --> Moudle. 选择 java Moudle,名字自取原创 2020-08-28 15:53:47 · 369 阅读 · 1 评论 -
ConstraintLayout内,wrap_content控件内容挤出屏幕外的解决方案
问题描述Constraintlayout内有两个控件,并排在一行,第二个控件的宽度是wrap_content,导致第二个控件的内容被挤出屏幕外解决方案//第二个控件加入1. layout_contraintright_torightof = "parent"2. layout_width = 0dp3. layout_contraintlet_torightof = "text1"//控件1实现效果...原创 2021-04-25 10:10:00 · 811 阅读 · 0 评论 -
$NotFoundException: String resource ID #0x1c8解决方案
原因setText()不能填入int类型参数,要将其改为String或者Char(这个我其实知道的)最近在学da taBing,第一个坑就是引用数据时出现了类型错误price是int类型,编译后可见,dataBing直接将其以in t类型参数传入setText()方法解决方法这是初学dataBing的第一个坑,这里记录一下...原创 2021-04-30 11:12:36 · 146 阅读 · 0 评论 -
Kotlin,结合DataBinding实现recyclerview
app下的build.gradle加入android{... dataBinding{ enabled = true }...}项目的g radle.propeties加入android.databinding.enableVZ = true Item布局文件<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk原创 2021-04-30 14:29:27 · 542 阅读 · 0 评论 -
java.net.SocketException: socket failed: EPERM (Operation not permitted)解决方案
网络访问出错非常简单,把模拟器的程序卸载了,或者把模拟器卸载重装一遍具体见详细链接:解决方法转载 2021-05-10 16:28:32 · 1053 阅读 · 1 评论 -
Android开发小坑合集,长期更新
设置属性为黑色或者白色,其他颜色,显示的效果并不是这个颜色?打开theme.xml文件,将actionbar改为NoActionBar.Brigde一个Textview控件希望里面的文字五花八门,各不一样如何实现?在XML文件中引用text来源,在String文件中写明 <string name="glance_fragment_star"><font color="#FFCC00"><big>★★★★★</big></font>テスト拠原创 2021-05-11 18:43:20 · 96 阅读 · 0 评论 -
RxJava在Kotlin语言中的使用(一)RxJava初步了解
注:本博客仅为作者个人学习记录,不作为任何教程,仅供参考RxJava是一个 基于事件流、实现异步操作的库,由于其实现基于事件流的链式调用,逻辑清晰,使用简单,在Android开发中广为使用,可以替代 Android中的5种异步操作实现方式,如Handler,AsnycTask等。RxJava将事件发送,传递,处理各分为3个角色,也就是设计模式中的观察者模式,它们分别是 被观察者(Observable)、订阅(Subcrible)、观察者(Observer)。它们分别又是什么?需要干什么呢?Obser原创 2021-05-12 16:18:09 · 2205 阅读 · 1 评论 -
Android,EditText第一次点击事件无法触发的解决方案
1。 Edi tText第一次点击时,获取的是啥?是焦点 focus2.第二次点击才能触发点击事件,那么怎样才能第一次点击就触发点击事件呢?两种方法:在XML中设置:Android:clickable = “true”Android:focusInTouchMode = “false"这样第一次点击就会触发点击事件了,上述设置的意思就是 允许单击并且触碰edittext不会获取焦点。缺点:edittext将无法获取焦点,有时候你的edittext希望通过焦点的变化来更改背景框的颜色,原创 2021-05-14 17:32:22 · 2445 阅读 · 0 评论 -
MVVM+DataBing+LiveData+RxJava架构的初步认识(一)
本博客仅为小白个人学习记录,不作为任何教学指导,读者所见内容仅供参考,如有错误,欢迎指正,非常感谢。MVVM+DataBing+LiveData+RxJava架构先看Demo的架构图示:首先在model中,也就是数据来源,通过RxJava+Retrofit的方式(单例类Rretrofit对象,Json解析,网络接口等),获得从APi的网络数据。获得数据后,需要调用viewmodel类中相应的属性,这个属性类型是MutableLiveData,将数据赋值给livedata。由于在Activity原创 2021-05-24 17:44:53 · 682 阅读 · 1 评论 -
RxJava在Kotlin语言中的使用(二)创建操作符
Justjust快速建立 被观察者,同时将参数内每个数据调用onNext方法将事件发送出去其他创建操作符此外还有 Observable.fromArray(数组),从一个数组中获取数据Observable.fromIterable()从迭代器中获取。众所周知,迭代器是指Java中实现了Collection接口才会有迭代器,也就是 List列表和Set集合。此外还有一些特殊的被观察者创建方法,Observable.empty()只发送OnComplete()方法,Obserable.error(原创 2021-05-27 10:43:01 · 399 阅读 · 0 评论 -
DataBinding找不到符号,import xxx.xxx.ActivityxxxBindingImpl
出现这个问题多半是因为你的XML布局文件写错了,这个错误是不爆红色的,也就比较难以查到具体在哪个位置。这个一般是在Databind绑定属性项出现的问题,如text=“@{x x x.xx}”问题描述:解决方法:点击一下build中 Found data binding error(s):右侧就是具体报错的原因,我的问题出现原因就是双向绑定带有逻辑判定。...原创 2021-06-07 10:05:16 · 2377 阅读 · 0 评论 -
Lambda在Java以及Kotlin、高阶函数中使用
1. Lambda一般用于代替匿名类,让代码逻辑看起来更加清晰,方法开发以及代码的阅读2. Lambda一般代替匿名类时,相当于匿名类本身,基本结果为 ()->{ },如果参数或者方法体语句只有一个可以省略括号。3. Lambda使用条件:实例化一个类,其内部有匿名类,或者需要实现接口,并且需要重写的方法只有一个。 那么就以方法为根据和参考基准,方法的参数对应小括号,方法体对应大括号。Lambda 表达式应用示例:Lambda 表达式应用示例:4. Lambda在Kotlin中的使用原创 2021-07-16 12:18:43 · 312 阅读 · 0 评论 -
Android存储分类,内部存储、外部存储的区别
前言 本文大量借鉴一位大佬的博客解析Android内部存储、外部存储的区别 本文仅作为个人学习记录,如有错误,欢迎指正,非常感谢。 Android项目开发必定使用到本地存储一些应用相关的数据,以及访问其他应用或者系统自带的公有共享文件(比如手机相册的图片)。所以对于内部存储和外部存储需要格外熟悉。Android物理存储上目录的划分 Android系统采用的Linux内核,所以数据存储的目录也和Linux系统相似,一般文件目录如下图所示:1.内部存储: /data/data/ (黄线转载 2021-07-16 16:16:25 · 1393 阅读 · 0 评论 -
Android APK包反编译为java文件教程
流程: test.apk -> smali文件 -> dex文件 -> jar文件 ->java 文件。这些就是反编译后的java文件,如果没有混淆的话,可以较好阅读,如果混淆了,那么阅读起来将会十分困难。下载 smali工具 2.1.2版本,用。因为高版本会解压失败。原创 2024-03-01 16:08:16 · 739 阅读 · 0 评论 -
Android,配置Git代码提交时对Kotlin文件进行代码格式检测
Git 代码提交对 Kotlin文件进行代码格式检测原创 2023-02-13 11:04:19 · 158 阅读 · 0 评论 -
AndroidStudio 快捷键格式化代码
Android Studio 配置代码格式化快捷键原创 2022-11-12 10:30:03 · 4055 阅读 · 0 评论 -
Kotlin,Room插入数据时,id使用自动生成,如何进行数据model对象的实例化?
我们使用Room库,往表中插入数据Model时,我们已经添加注解设置了Model的属性xxId作为自动生成的id。那么也就是说,我们需要手动实例化一个Model对象出来,而xxId本身就是作为这个Model的属性,所以我们不得不实例化时,传入一个xxId进去,这也就失去了自动生成的效果。两种方法的实现可能都不是很妥, 因为xxId唯一的,不可为空的。但你可能会说,“虽然我们声明定义的xxxId是可空的,但是插入表时,room会自动生成一个增加1的Id,也就不会有空的情况了。”原创 2022-11-02 18:36:53 · 1449 阅读 · 0 评论 -
Deeplink 特定解决方案
sdfasd原创 2022-09-29 15:09:38 · 768 阅读 · 1 评论 -
Map和FlatMap的相同点和区别
首先,我们看一下map, map是集合接口Iterable的一个扩展函数,它有两个泛型 T和R, T是集合接口容器包裹的元素数据类型,以上面的例子就是List, R 是lambda表达式的返回类型,也是map操作后所得到的集合容器装载元素的数据类型,以上面的例子。flatMap也是一样的,是集合接口Iterable的一个扩展函数,操作符需要传入一个lambda表达式,不同的是这个lambda表达式的返回值是一个 集合接口类型(list, set等)。原创 2022-09-23 15:35:01 · 2735 阅读 · 0 评论 -
Android, Switch滑动事件监听实现。
Switch原创 2022-08-11 14:29:31 · 4444 阅读 · 0 评论 -
Android, 关于ViewModel的一些使用小技巧。
情景app使用了navigation组件,用一个Activity装载了多个Fragment,通过Fragment间的跳转来实现页面间的切换。当 界面有A fragment 跳转到 B fragment时, 会将部分参数字段传递给Fragment, 同时Fragment会将拿到的字段告知 viewModel, 让viewmodel 拿着参数字段去请求调用下一层…等等,用于获取到界面所需要的数据,比如是服务器remote数据,或者是本地Local数据。当数据获取成功后,会回调通知viewmodel, vi原创 2022-05-09 17:48:51 · 1203 阅读 · 0 评论 -
Android控件底部边框一条固定长度的线绘制
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:state_selected="false"> <shape> <solid android:color.原创 2022-03-26 16:50:12 · 4468 阅读 · 0 评论 -
Android 获取 屏幕可操作区域高度的方法2022-01-28
原创 2022-02-07 17:14:04 · 1692 阅读 · 0 评论 -
Android父布局上方上边框阴影实现。
设置父布局背景阴影本质上就是灰色的渐变,其中包括了颜色渐变和透明度渐变的组合。<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <padding原创 2022-01-12 15:36:37 · 2409 阅读 · 0 评论