Android
OnexTwo
君志所向,一往无前,愈挫愈勇,再接再厉。
展开
-
ViewModelScope 避免内存泄漏的原理
ViewModelScope 避免内存泄漏的原理原创 2023-02-06 17:51:21 · 527 阅读 · 0 评论 -
BottomNavigationView+ViewPager2 实现底部导航栏
使用 ViewPager2 和 BottomNavigationView 构建了一个底部导航栏原创 2023-02-02 16:14:37 · 1357 阅读 · 0 评论 -
Compose 学习笔记之布局函数
Compose 布局函数笔记原创 2023-01-05 10:41:15 · 169 阅读 · 0 评论 -
StateFlow 不更新问题
stateFlow 不更新的情景解析。原创 2022-12-26 17:46:37 · 660 阅读 · 0 评论 -
Diaolg 点击事件透传给 Activity
Dialog 透传点击事件给 Actiivity原创 2022-12-15 17:23:08 · 1174 阅读 · 0 评论 -
kotlin 的 when 语句学习笔记
kotlin 中 when 的基本使用方法kotlin 中的 when 的基本使用方法与 Java 中的 switch 类似。下面分别是用 Java 的 switch 和 kotlin 的 when 实现同一逻辑的代码。// Java 代码switch(x){ case 1: System.out.println("x is 1"); break; case 2: System.out.println("x is 2"); break; case 3: System.out.p原创 2022-03-29 16:47:29 · 4459 阅读 · 3 评论 -
Sdkmanager -licenses 报错 java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
我相信大部分人是为了解决 Android Sutdio 的 licenses 未被接受问题,所以才执行的 Sdkmanager -licenses,然后发现执行命令后报了这个错误。但其实还有一种方法可以解决 licenses 未被接受问题,那就是在 AndroidStudio 的 SDK manager (如下截图)中将 Android API 的卸载然后再安装一次(把 Android API 前面的勾点掉,apply,再把勾点上,再 apply),重新安装时会提示你是否接受证书,选择接受即可。.原创 2022-02-12 00:44:51 · 2911 阅读 · 2 评论 -
Flutter-出现 Build failed with an exception 错误
对于这种错误(这张图是我在别的文章复制过来的,但是错误基本是相同的),网上有很多方案,比如使用阿里云镜像等。我试过一遍都没有用,所以我试了下降低 gradle 版本,降到一个本地运行过的项目中 gradle 版本。注意需要在两个地方修改一个是项目中的 android 下的 build.gradle 另外一个地方是你 flutter SDK 目录下的flutter.gradle (路径如下图所示)...原创 2021-08-21 00:37:07 · 1378 阅读 · 0 评论 -
安卓端简易FTP客户端APP开发
先上效果图:本文的FTP客户端基于commons-net-3.3.jar库实现。实现了ftp服务器登录。单个文件的下载和上传,以及本地复制和删除文件。一、登录服务器活动模块编写:这块呢首先是要编写一个登录的界面的。我的界面XML如下:主要就是利用TextInputLayout这个控件来编写的。不清楚这个控件的可以 百度/Google学习一下。<?xml...原创 2019-10-28 20:30:41 · 4816 阅读 · 7 评论 -
Android AnimationSet使用
package com.example.thinkpad.animation;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.animation.AlphaAnimation;import andro...原创 2019-03-11 17:31:02 · 1781 阅读 · 0 评论 -
简单的Android端新闻App的实现。
先上效果图:图一 : 图二: 在此先感谢我本次app开发所用的api分享者贴上文章链接,各位读者如有需求请移步此链接:https://www.jianshu.com/p/48f6c2c6f14c总体思路概述: 如图本app界面简单,图一的最顶端是安卓原生的标题栏,图二的最顶端是我自己定义的标题栏,具体代码后面再说。图一标题栏下面是五个TextV...原创 2019-03-04 19:14:43 · 22769 阅读 · 81 评论 -
Android 4种补间动画基础使用。
package com.example.thinkpad.animation;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.animation.AlphaAnimation;import andr...原创 2019-03-09 18:15:32 · 291 阅读 · 0 评论 -
Andorid帧动画AnimationDrawable 基础使用
今天学习了Android帧动画AnimationDrawable的使用方法,以下借助一个例子,基本说明一下其基本使用方法,以便日后查看。先放出学习视频的地址:http://e-learning.51cto.com/video/127649。<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:and...原创 2019-03-09 15:12:41 · 379 阅读 · 0 评论 -
Android登录模块代码解析
最近需要写一个登陆模块,对于登陆模块,心里自然有些数,无非是用户名,密码之类尔。 但是我发现androidstudio的活动模板里有个登录模板,于是就想学习一下官方的写法了。 XML文件 先看一下XML文件吧。这个XML文件外层是线性布局,登录那一块用得是TextInputLayout。很...原创 2019-07-25 12:00:40 · 921 阅读 · 0 评论 -
Android开发艺术探索读书笔记----View事件体系1
View的概念:View是android中所有控件的基类。ViewGroup继承自View,内部可以有多个控件也可以由Viewgroup(譬如LinearLayout) View的位置参数:top:左上角纵坐标,left:右上角横坐标,right:右下角横坐标,bottom右下角纵坐标。注意:这些坐标都是相对于父容器来说。得出View宽高和坐标的关系:width=right-left heigh...原创 2018-10-21 11:50:39 · 163 阅读 · 0 评论 -
深入探讨XML布局属性(1)
一、dp,sp以及屏幕像素高度:文字大小:(text size),指设备上显示的文字像素高度;边距(margin),指定视图组件间的距离;内边距(padding),指定视图外边框与其内容间的距离;dp:密度无关像素。在设置边距,内边距或任何不打算按像素值指定尺寸的情况下,通常使用dp这种单位。1dp单位在设备屏幕上总是等于1/160英寸。sp:缩放无关像素。它是一种与密度无...原创 2019-03-30 14:21:52 · 561 阅读 · 0 评论 -
关于LinearLayout下layout_margin属性的深入探讨
这里的探讨全部在LinearLayout下的,其他布局暂时没有研究。 一直对于layout_margin的用法比较困惑,感觉比较玄学。故仔细研究了一番,特此笔记。先看下layout_margin这个属性吧<LinearLayout android:orientation="horizontal" xmlns:android="http://sche...原创 2019-03-30 15:17:57 · 5598 阅读 · 0 评论 -
Java回调机制简单理解
回调机制在安卓很常见。所以有必要理解一下回调究竟是怎么一回事。所以我自己写了一个简单的回调的例子,辅助理解。我简单的在eclipse建了两个类:MainActivity 和 Fragment 模拟 安卓的 活动 和 碎片。 public class MainActivity { public static void main(String args[]) { ...原创 2019-05-08 21:48:48 · 153 阅读 · 0 评论 -
Caused by: android.os.TransactionTooLargeException:data parcel size 696260 bytes异常解决方案
今天写东西时遇到这个问题,很奇怪。 我是因为在intent里传了一个对象数组列表也就是List的原因。 查询资料:报TransactionTooLargeException异常的手机,集中在Android N的版本里,也就是版本号只有24和25的,低于24或者高于25的一概没有。我们的App最低兼容到了16,但是即便在很古老的4.0,4.1,4.4的手机上也没...原创 2019-06-01 16:18:38 · 3719 阅读 · 0 评论 -
自定义标题栏 (已传GitHub,可直接引用)。
最近在学自定义View做了个自定义Titlebar,在此记录下要点。 如果你要看引用方式请直接拉到文末。 下面是自定义类的代码。我选择继承自RalativeLayout。InitView()是我创建的初始化UI的方法。在里面用LayoutInflater加载了布局文件,然后把一些控件赋值。 然后看第二个构造方法,在这里我又从自己创建的attr文件里拿到...原创 2019-06-04 17:09:41 · 268 阅读 · 0 评论 -
安卓BLE蓝牙开发入门
最近做了有关安卓BLE蓝牙开发的东西,所以在这里记录一下,是一些入门的知识。希望能帮到正需要学习安卓ble蓝牙开发的同学。 介绍:安卓 4.3(API 18)为 BLE 的核心功能提供平台支持和 API,App 可以利用它来发现设 备、查询服务和读写特性。相比传统的蓝牙,BLE 更显著的特点是低功耗。这一优 点使 Android App 可以与具有低功耗要求的 BLE ...原创 2019-09-21 20:20:20 · 807 阅读 · 0 评论 -
Glide固定URL图片改变时更新方法。
当我们使用Glide框架去加载图片时,使用时非常方便的。但是有一个问题,就是对于同一个url对于glide是不会加载两遍的。因为glide默认开启缓存机制,为了节省流量glide会使用缓存里的图片。但是我们不想这样,我们想要更新。 解决方法一:取消缓存机制,示例代码如下: Glide.with(getContext()).load(path) .skipMemor...原创 2019-09-21 20:36:45 · 1198 阅读 · 0 评论 -
在字符串中寻找数字的方法 JAVA版
//在字符串中寻找数字的函数 private double check(String x){ char text[]=x.toCharArray(); x.trim(); String number=""; for(int i=0;i<x.length();i++){ try{ number+=...原创 2018-04-22 12:47:09 · 2142 阅读 · 0 评论 -
自定义滑动音量
最近由于项目需求,自己写了个音量滑动View。其实滑动可以应用的范围还有很多,故此做以笔记,以便以后翻阅。首先建立一个自定义View slip继承View 在构造方法里完成了对图片的获取以及一些初始化。 重写onDraw()方法具体可看源码。 重写onMeasure()这个方法比较重要!在源码里解释。 重写onTouchEvent();//在这个方法里完成滑动功能 写监听滑动接口...原创 2018-10-16 22:01:43 · 392 阅读 · 0 评论 -
Android 简单音乐播放器开发
我把我最新的版本可以定时关闭,界面做了很大优化。GitHub上需要的可以下载:https://github.com/DhyanaCoder/IMusic ———————————————————————————————————————— 首先看一下我的项目结构: ...原创 2018-09-22 16:44:00 · 4366 阅读 · 0 评论 -
Java StringBuilder比较问题
今天在项目上遇到一个问题需要使用StringBuilder的比较,但是使用equals()总是发现错误。经查询发现,原来是StringBuilder类的equals()没有重写内部其实还是使用了==的比较方法所以会出现问题。解决办法,使用toString()将StringBuilder转换为String再进行相应比较。...原创 2018-09-02 17:42:58 · 2386 阅读 · 0 评论 -
Android 多媒体之播放音乐
界面如下布局文件如下<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:too...原创 2018-05-20 14:58:04 · 233 阅读 · 0 评论 -
Android 从相册中选取图片(《第一行代码》学习记录)
学习《第一行代码》记录原创 2018-05-05 20:51:07 · 646 阅读 · 6 评论 -
ImageButton按钮-按下灰色。
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/mainbt_selector" android:scaleType="centerInside" android:src="...原创 2018-04-21 12:34:29 · 1589 阅读 · 0 评论 -
Android多媒体- 使用相机
package com.example.thinkpad.camera;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.media.ImageWriter;import android.net.Uri;im...原创 2018-05-02 22:40:57 · 185 阅读 · 0 评论 -
Android通知的基本用法及进阶和高级用法
一、基本用法1、需要一个NotificationManager来对通知进行管理。可以通过调用Context的getSystemService()方法获取到。Notification managet=(NotificationManager)getSystemService(Context.NOTIFION_SERVICE):2、接下来需要使用一个Builder构造器来创建Notification...原创 2018-04-30 19:56:37 · 715 阅读 · 3 评论 -
导入项目时重装AS遇到的小问题解决方案!
因为导入项目,的原因重装了as 然后就一直 gradle project sync failed 最后发现时把SDK的路径重新配置了下就好了!原创 2018-04-11 18:59:20 · 245 阅读 · 0 评论 -
Android之RecyclerView知识一
第一步:在app/build.gradle 文件 dependencies闭包中添加语句compile 'com.android.support:recyclerview-v7:24.2.1'记住一定要点击右上角 Sync Now来进行同步第二步:在activity_main.xml中添加 RecyclerView控件的代码 建立子项类并建立子项的布局文件实例:<android.suppor...原创 2018-03-27 16:46:21 · 148 阅读 · 0 评论 -
Android 碎片知识一
一、小回顾:建立碎片的步骤:①新建相应碎片的布局文件②新建碎片类继承自Fragment类③在碎片类引入碎片布局文件④在activity_main.xml添加Fragment控件二、动态添加碎片的步骤:1)创建待添加的碎片实例。2)获取Fragment,在活动中可以直接通过调用getSupportFragmentManager()方法得到。3)开启一个事务,通过调用beginTransaction...原创 2018-03-27 16:18:46 · 236 阅读 · 0 评论 -
安卓数据存储之LitePal框架操作数据库
概念:LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式。并将我们平时开发最常用到的一些数据库功能进行了封装。LitePal详细使用文档:https://github.com/LitePalFramework.1、配置LitePal编辑app/build.gradle文件在dependencies闭包中添加如下内容dependencies{……compile ...原创 2018-04-14 15:04:24 · 195 阅读 · 0 评论 -
安卓的数据存储 之SharePreference
概念:用键值对的方式来存储数据的。 如何用sharedPreference存储数据?1、获得sharedPreference对象1)Context类中的getSharedPreferences(a,b)方法*此种常用 a用于指定SharedPreferences文件的名称,如果指定的文件不存在则会创建一个。 ...原创 2018-04-14 13:40:56 · 273 阅读 · 0 评论 -
安卓之解析XML格式数据 Pull方式
package com.example.thinkpad.http;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.util.Xml;import android.view.View;import androi...原创 2018-05-20 15:30:19 · 275 阅读 · 0 评论 -
百度地图SDK 网络定位失败 getlocType 162解决问题。
上网一搜,大多都是提示我:so文件什么的没配好,但我都配好了,并且AndroidManifest.xml也没有错误。最后终于在百度知道一位答友的提示下下载了rxtxserial.dll文件。并将其复制到:C:\Program Files\Java\jdk1.8.0_131\jre\bin 以及C:\Program Files\Java\...原创 2018-08-21 23:03:07 · 1684 阅读 · 1 评论 -
View.VISIBLE、INVISIBLE、GONE的区别
View.VISIBLE、INVISIBLE、GONE的区别android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义:View.VISIBLE--->可见View.INVISIBLE--->不可见,但这个View仍然会占用在xml文件中所分配的布局空间,不重新layoutView.GON...转载 2018-08-31 15:37:47 · 7084 阅读 · 0 评论 -
安卓学习一些常用库总结
compile 'org.litepal.android:core:1.4.1'//litepal数据库框架compile 'com.squareup.okhttp3:okhttp:3.4.1'//网络访问框架compile 'com.google.code.gson:gson:2.7'//json解析框架compile 'com.github.bumptech.glide:glide...原创 2018-08-28 17:53:01 · 125 阅读 · 0 评论