Android
存放Android开发相关内容
zstar-_
西电在读硕士生,联系邮箱:zstar1003@163.com
展开
-
【Android】常用技巧汇总(持续更新)
汇集了一些Android开发中的常用语句原创 2022-06-12 21:29:45 · 774 阅读 · 1 评论 -
【Android】雾霾定位探测系统
一款关于天气预报和定位的App原创 2022-06-05 13:04:04 · 2947 阅读 · 0 评论 -
Android:启动页设置以及动态权限跳转
启动页的作用在我遇到这个实际问题之前,我一直认为启动页的作用是美化产品,提升软件逼格。但实际上,它更重要的是起到了一个拦截器的作用。比如,当App首页需要动态得从网上加载数据时,就必须请求网络权限,如果没有启动页,用户将直接看到一堆空数据。因此,启动页主要有两个作用:1、拦截用户访问,只有用户授予必要的权限才准入;2、为主页动态数据加载争取时间。启动页跳转在提权限之前,首先把启动页延时跳转解决。通过下面的代码,可以实现延迟2秒钟跳转。new android.os.Handler().postDela原创 2022-04-17 23:55:21 · 4784 阅读 · 0 评论 -
Android:隐藏标题栏/透明顶部状态栏
因为在项目中用到了这两个功能,而且这两个功能使用频率也很高,特别mark一下。我所记录的只是我实现有效的方式,当然也有其它更简单的方式,这里只以需求为导向,不作细究。隐藏标题栏隐藏标题栏比较简单,只需要在MainActivity中的onCreate下添加 ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.hide(); }透明顶部状态栏状态栏.原创 2022-04-17 15:09:59 · 2094 阅读 · 0 评论 -
Android:实现弹窗效果
Android:dialog原创 2022-03-22 16:51:48 · 7308 阅读 · 0 评论 -
Android:多个Fragment切换问题/切换动画设置
Android开发关于Fragment的切换问题原创 2022-03-22 16:15:18 · 7904 阅读 · 3 评论 -
Android:点击按钮,保存图片到本地相册
效果:点击按钮,将ImageView的图片保存到相册中。activity_main:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:lay原创 2021-09-20 17:45:34 · 1203 阅读 · 0 评论 -
Android:通过MQTT实现用户端与服务器数据双向传输
Android版本更新很快,很多MQTT开发的demo无法运行,找了很多资料终于实现了数据传输这一功能,特此记录一下。文章目录一、MQTT基本概念二、搭建测试用的MQTT服务器三、下载依赖四、核心代码4.1MQTT初始化4.2连接与重连4.3发送消息五、使用说明六、完整源码七、参考资料一、MQTT基本概念简单来说,MQTT是一个基于TCP/IP的协议,比较轻量化,广泛应用于物联网设备和服务器的数据传输。主题:相当于人与人之间的共同话题。只有当客户端与服务端确定共同主题时,才能进行数据传输。(否则.原创 2021-07-14 11:28:37 · 4227 阅读 · 4 评论 -
Android:能接收HC05数据的APP
Android的更新速度太快,以至于目前搜到的很多蓝牙APP的源码都无法使用。花了三天时间,终于实现了蓝牙app的基本功能。文章目录1.项目需求2.效果展示3.工程结构4.核心代码4.1蓝牙打开、关闭、搜索4.2蓝牙搜索,适配器显示4.3建立连接4.4创建线程,传输数据5.完整源码6.参考资料1.项目需求本项目需要制作一款APP,实现手机蓝牙和HC-05蓝牙模块连接,接收来自单片机的数据,并在APP页面上进行实时显示。2.效果展示这里只为测试APP的性能,因此将HC-05接TTL转USB模块,.原创 2021-07-13 12:19:18 · 4068 阅读 · 1 评论 -
Android:解决debug版本无法运行的问题
在用Android Studio做开发时,如果将build之后的app-debug版本发给用户,用户会无法安装。这里有两种解决方案:一、发布app-release版本该方案需要用到签名,较为麻烦,具体方法可以看我的这篇文章。Android:发布应用流程记录二、添加配置,一步解决在gradle.properties 文件添加一下配置:android.injected.testOnly=false较为简单,测试首选。...原创 2021-07-13 11:23:05 · 1440 阅读 · 0 评论 -
Android:适配器(Adapter)的使用
一、什么是适配器在常见软件中,往往能看到列表一样的信息流,例如:如果在xml中将信息写死,那显然是不合适的,无法做到上拉刷新的效果。这个时候,就需要用到适配器。二、Adapter基本概念和继承关系三、自定义适配器实例1.文件结构2.xml内容main.xml:<?xml version="1.0" encoding="utf-8"?><ListView xmlns:android="http://schemas.android.com/apk/res/andro原创 2021-07-11 21:46:59 · 3081 阅读 · 3 评论 -
Android:隐私政策弹窗与链接
现在几乎所有的应用市场都要求应用上架需要用户协议/隐私政策,本篇内容将介绍如何在APP内植入一个隐私政策弹窗与链接文章目录1.效果展示2.具体实现2.1按钮美化2.2弹窗美化2.3隐私信息2.4弹窗布局2.5弹窗链接3.进一步优化4.参考资料1.效果展示先展示效果,看看是不是你需要的。2.具体实现2.1按钮美化在drawable文件夹下新建button_shape.xml<?xml version="1.0" encoding="utf-8" ?><!--相当于做了.原创 2021-07-09 00:31:07 · 3569 阅读 · 1 评论 -
Android:安装包的反编译
反编译,即从apk安装包还原出Android源码。本篇内容将使用dex2jar和jd-gui两个工具。(工具可在微信公众号“我有一计”回复“反编译”进行下载)1.Java代码1.1将APK文件改后缀为zip然后用解压缩软件打开,取出里面的classes.dex文件,如下图所示:1.2将从apk文件中得到的classes.dex文件放入dex2jar工具的目录中,如下图:1.3在命令行中进入dex2jar工具的目录,执行命令: d2j-dex2jar.bat classes.dex ,如下原创 2021-07-05 21:46:46 · 1038 阅读 · 2 评论 -
Android:Monkey压力测试
之前把写完的APP传到了分发平台,结果被打回。原因是程序多次崩溃,测试小姐姐还贴心打印了测试日志和视频。测试使用的是Monkey,在开发完成之后,测试看来是少不了的环节。手动测试,只能做有限次的操作,而Monkey可以使用自动化的连续随机操作,来测试软件的稳定性。使用Monkey需要下载java,AndroidSDK,连接手机使用adb具体操作可以看这位高手的专栏android monkey测试入门记录一下我的具体使用:cmd进入控制台罗列设备:adb devices注意如果连接手机,把模拟原创 2021-04-22 22:31:58 · 424 阅读 · 0 评论 -
Android:Webview的使用
Webview相当于一个小型的浏览器,如果在app内实现内置浏览器,效果一定非常酷炫。我本身有个网站域名,想在APP内直接访问显示,然而不成功。原因是Webview会自动拦截非https/http的url,于是把网页源代码放到本地,不仅速度快,效果也很不戳。话不多说,放上代码xml<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res原创 2021-04-21 21:06:58 · 484 阅读 · 0 评论 -
Android:轮播图ViewPager自动轮播最简单方法
由于博主学疏才浅,并未了解ViewPager底层逻辑,仅仅将可用的方法加以记录。最新版的使用轮播图,需要在xml文件中添加 <androidx.viewpager.widget.ViewPager android:id="@+id/indicator_all" android:layout_width="match_parent" android:layout_height="match_parent"原创 2021-04-21 12:44:36 · 6165 阅读 · 2 评论 -
Android:新闻类应用布局、分割线
想做一个新闻类应用,类似今日资讯先上效果每篇文章之间的分割线有两种思路可以做第一种,背景灰色,设置卡片间距第二种,直接用shape画这里采用第二种方法首先在drawable里面建dash_line文件:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" >原创 2021-04-21 12:19:36 · 640 阅读 · 0 评论 -
Android:在酷安发布应用流程记录
应用的发布上架是应用开发的最后一步,作为个人开发者,可选择的平台比较少,这里简单罗列一些常见平台。移动开放平台如下:1.腾讯开放平台(应用宝):http://op.open.qq.com/manage_centerv22.百度移动开放平台(91/百度助手):https://app.baidu.com/3.阿里应用分发开放平台(PP助手/豌豆荚/9游):http://open.uc.cn/login4.酷安开发者中心:https://developer.coolapk.com/5.安智开发者联盟:原创 2021-04-20 20:58:51 · 3675 阅读 · 1 评论 -
Android:导航栏置底
看了很多关于导航栏置底的文章核心代码就这一句android:layout_alignParentBottom=“true”不过我的布局文件是include进来的,发现不生效。外加一个Linear Layout 发现生效了这里记录一下<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weigh原创 2021-04-10 16:24:26 · 506 阅读 · 0 评论 -
Android:在Fragment中使用Intent进行页面跳转
由于Fragment继承的内容与Activity的继承不太一样,因此跳转时也需要修改一下代码,现在记录一下,以便用到时候复制。public class pageFragment1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {原创 2021-04-02 21:04:53 · 5181 阅读 · 2 评论 -
Android:超好用的ScrollView,滑动操作最简单的方式
上篇博客试图采用RecyclerView这个组件来实现一个滑动效果,结果发现大部分代码都是通过java代码来控制填充,设计时不仅操作麻烦(最主要看不懂),而且不能像xml文件一样实时预览效果。碰巧发现了这篇博客 Android ListView滚动条配置完全解析,详细介绍了ScrollView这个组件的相关配置,非常清楚。我利用ScrollView实现了所需要的目标。(仅用xml,无需java逻辑)先放效果:实现代码:<?xml version="1.0" encoding="utf-8"?原创 2021-03-20 20:19:07 · 1079 阅读 · 2 评论 -
Android:RecyclerView横向滑动+自定义滑动条
网上找了好几篇RecyclerView,终于结合了一下找到能用的,特此记录一下,原理不作细究1、安装Recyciler View依赖 implementation 'com.makeramen:roundedimageview:2.3.0'2、创建实体类public class News { public String title; // 标题 public String content; //内容}3、界面布局文件<?xml version="1.0" enc原创 2021-03-20 10:45:44 · 5748 阅读 · 3 评论 -
Android:最简单的图片圆角制作(卡片布局)
在APP中,图片往往设计成圆角,非常美观。但查阅资料发现实际操作比较复杂,大致有两种方法。第一种很复杂:在JAVA代码中修改图片的shape,代码难写且冗长。第二种很滑稽:采用一张透明的View覆盖图片的四角,有些自欺欺人,如果设备不兼容,小动作直接暴露无遗。突然想到第三种最为简单的方法,使用CardView组件。如何导入CardView依赖,参见我的上上篇博文Android:最新版CardView的安装和使用只需要添加app:cardCornerRadius=“16dp”这个属性,卡片四角原创 2021-03-14 17:17:43 · 1182 阅读 · 0 评论 -
Android:最新版浮动按钮的制作
UI设计给我出了个难题:在一个界面上设计一个始终位于屏幕右下角的浮动按钮翻阅好多博客(几乎都是几年前的):都是说要导入这么一个依赖compile ‘com.getbase:floatingactionbutton:1.10.1’,结果发现放在2021年早已失效。几经摸索,也没找到最新版Floatactionbutton的正确依赖。突然想到,新建项目有个Basic Activity,里面正好有这么个玩意,如图可见于是新建项目,研究源码,果然适用SDK最新版本。当然还有各种各样的坑,也顺便记录一下原创 2021-03-14 17:03:41 · 1978 阅读 · 2 评论 -
Android:最新版CardView的安装和使用
很多软件都使用了卡片式的布局,看上去非常美观。查了一下,大多是采用CardView这个神奇的组件实现。翻阅大部分教程,大多数都是采用这行代码来调用cardview包import android.support.v7.widget.CardView耗费了很多精力,我还是无法成功安装相应的依赖。后来发现,由于版本更新,现在的方式已经改变。代码应该改为这行:import androidx.cardview.widget.CardView;选中之后按Alt+回车,它会自动安装依赖如果不行就手动安装原创 2021-03-10 00:22:36 · 3553 阅读 · 3 评论 -
Android studio中 android-support-v4报错问题
运行一些别人项目时,除了gradle版本不一致要下载半天外,还有各种错误。比如android-support-v4不存在等错误这个时候可以参考https://www.codeprj.com/blog/752b4e1.html这篇攻略,查找support-v4即可,其它包同理。...原创 2021-02-22 00:16:40 · 1026 阅读 · 0 评论 -
Android:O泡果奶——来场恶作剧
前年的时候,不知有多少大学生成为“一份礼物”的受害者,我也亲身经历,不过我没中招,而是亲眼目睹周围人的社死,到了去年,O泡果奶事件又风靡一阵,当时有人就通过反编译得到源代码,发现是用lua写的。正好最近在学Android,想通过java复现一下。作为初学者,还是有些难度。幸好看见有大佬已经先人一步写过了,于是拿来略作修改,顺便可以整蛊朋友。原链接:https://www.lanzoui.com/b0dw9plxe我将背景音乐换成了周星驰经典的狂笑,图片也换得鬼畜了一些,下面放一下核心代码:acti.原创 2021-02-19 00:30:54 · 25188 阅读 · 6 评论 -
Android开发学习笔记(二十五)服务Service
原创 2021-02-18 17:05:15 · 422 阅读 · 0 评论 -
Android开发学习笔记(二十四)Intent分享功能
原创 2021-02-18 15:24:13 · 536 阅读 · 0 评论 -
Android开发学习笔记(二十三)菜单Menu
orderInCategory数值决定菜单上下顺序原创 2021-02-18 15:09:30 · 550 阅读 · 0 评论 -
Android开发学习笔记(二十二)部分进阶使用
文本处理:添加autoLink可以跳转到网页在文本编辑里可添加b,i标签进行加粗和斜体通过setSpan调节特定位置叠加绘图比较实用,具体实现方式是新建一个文件存放layer-list图层列表,通过item控制每层的图层,叠加上去即可。...原创 2021-02-18 11:03:05 · 424 阅读 · 0 评论 -
Android开发学习笔记(二十一)进度条ProgressBar
进度条分两种:圆形转圈式和横向流动式圆形转圈式比较简单,稍微设计一下样式就行。横向流动式比较复杂,难点在于,初始的界面是灰色,很丑,需要进行进一步处理。一方面,需要多开两个文件设计它的形状和渐变色。另一方面需要在java程序里设计它的具体事件来控制流动。(这部分最复杂,部分细节还没弄清楚)...原创 2021-02-18 09:29:39 · 513 阅读 · 0 评论 -
Android开发学习笔记(二十)图片ImageView
图片插入不难,主要是方式比较多,使用时具体参见第三张PPT原创 2021-02-18 08:58:21 · 484 阅读 · 0 评论 -
Android开发学习笔记(十九)文本编辑框EditText
hint:文本框提示语inputType:各种输入类型imeOptions:右下角按键功能原创 2021-02-18 00:32:11 · 535 阅读 · 0 评论 -
Android开发学习笔记(十八)复选框CheckBox和消息提示框Toast
Toast基本格式Toast.makeText(位置,内容,持续时间).show();getApplicationContext()为获取上下文位置上图为三种显示方式:第一种默认方式第二种调整位置的方式第三种图片加文字的方式原创 2021-02-18 00:12:34 · 987 阅读 · 0 评论 -
Android开发学习笔记(十七)单选按钮RadioButton
为使单选按钮产生互斥效果,需要把所有RadioButton放置在一个统一的RadioGroup中。原创 2021-02-17 22:06:11 · 608 阅读 · 0 评论 -
Android开发学习笔记(十六)开关按钮
ToggleButton是一个用一条线显示状态的按钮Switch是开关按钮,看起来Switch更为实用,两者用法几乎一样,参见上图。原创 2021-02-17 21:24:51 · 589 阅读 · 0 评论 -
Android开发学习笔记(十五)文本标签TextView
通过JAVA来控制TextView的颜色:(以初始化的Empty为例)首先在TextView中添加id:android:id="@+id/text_view"之后在Java程序中:寻找该id:TextView text = findViewById(R.id.text_view);得到text变量之后设置颜色:text.setTextColor(Color.BLUE);注:颜色(BLUE)所有字母大写效果:...原创 2021-02-17 20:20:21 · 600 阅读 · 0 评论 -
Android开发学习笔记(十四)横屏竖屏状态判断
大致判断思路是获取当前屏幕的width和height,如果width>height即为横屏,反之为竖屏。具体操作尚未实践,暂且截屏记录。原创 2021-02-17 16:50:45 · 624 阅读 · 0 评论 -
Android开发学习笔记(十三)事件处理
事件处理(两种方式):1、回调方式例子:源码:EventActivity.javapublic void changeText(View view) { TextView tv= findViewById(R.id.text_view); tv.setText(R.string.newStr); this.setTitle("这是一个新的标题"); }EventActivity.xml<?xml version="1.原创 2021-02-17 16:26:09 · 497 阅读 · 1 评论