自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

android开发入门学习

做程序,最重要的是解耦,分离,只有一个点一个点分清楚才能做好开发,就好比 先分开来 再走进去,而我就是那个帮你拆分清楚的分拣师

  • 博客(74)
  • 收藏
  • 关注

原创 记录一次使用python调用java代码

所有跨语言调用不是直接调用java代码,而是需要将java代码打包为jar包,并且需要在环境变量中设置JAVA_HOME的变量,不论是否使用到,但一定要是正确的jdk环境变量,并且这个变量如果是临时设置的必须重启计算机,否则获取不到。是一个Python库,它提供了一个Python到Java的桥接,允许直接调用Java类和方法。总结起来,Python调用Java代码的原理是通过与Java虚拟机进行交互,将Java类加载到JVM中,并通过适当的接口或桥接来调用Java方法。方法导入 Java 类。

2023-08-11 22:00:00 1435

原创 Reader和inputStream组合使用,但有需要各自调用自身的关闭close

但是关闭close方法中并没有一起关闭InputStream,即只调用Reader自身的close方法。Reader下的子类,使用组合的方式封装了inputStream对象。

2023-08-11 19:00:00 280

原创 安卓view中悬浮层:ViewOverlay

安卓view中悬浮层:ViewOverlay。

2022-03-11 07:00:00 1343

原创 安卓View的代理分发事件TouchDelegate

安卓触摸事件进阶:TouchDelege。

2022-03-10 19:00:00 2902

原创 安卓图片二值化实现

安卓实现图片单阈值二值化

2022-03-03 11:16:25 944

原创 greenDao的实现原理

核心:首先明确一点,sqlite操作都是依靠sql语句的,所以 greendao的所有api及实现都是为这个准则服务的。变化:3.0之前需要通过新建GreenDaoGenerator工程生成Java数据对象(实体)和DAO对象,非常的繁琐而且也加大了使用成本。GreenDao 3.0最大的变化就是采用注解的方式通过编译方式生成Java数据对象和DAO对象。DatabaseOpenHelper也是实现了SQLiteOpenHelper的一个帮助类,它内部可以获取到两种不同的数...

2020-11-03 13:06:07 884

原创 讲讲Handler实现原理

各主要类作用:Handler:负责发送消息及处理消息Looper:复制不断的从消息队列中取出消息,并且给发送本条消息的HandlerMessageQueue:负责存储消息Message:消息本身,负责携带数据分发流程:初始化消息队列,创建messageQueue并绑定到Looper上。Handler的sendMessage发起消息处理流程开端,创建Message并放入到MessageQueue中,由Looper的无限循环任务唤醒阻塞,开始分发Message,执行Message的Runable

2020-11-02 23:53:48 544

原创 android进程通信:eventBus的进程通信方案HermesEventBus

HermesEventBus一个基于EventBus的、能在进程间发送和接收event的库,解决EventBus没有进程通信能力的问题。使用场景:在IPC或者插件开发中非常有用。github地址:https://github.com/Xiaofei-it/HermesEventBus设计思路:每次一个event被发送都会经过以下四步:1、使用Hermes库将event传递给主进程。2、主进程使用EventBus在主进程内部发送event。3、主进程使用Hermes库将e.

2020-11-02 22:19:03 1462

原创 kotlin在databinding中的应用

伴生函数定义class OrderListPageBean{ companion object{ fun test1(num:Int){ } } }在java中使用OrderListPageBean.Companion.test1(1)在xml中使用android:text="@{OrderListPageBean.Companion.test1(1)}"不过在当前版本,能链接上,但是没法编译通过得使用ob

2020-06-02 12:23:17 3436

原创 FutureTask是如何实现获取线程返回结果?

问题:线程的执行时间,执行顺序不可控制,那么FutureTask是怎么在这不确定中得到确定的返回值呢?查询过程:百度了很多资料,很多博客上也有说实现原理,包括状态解答 private static final int NEW = 0; 新建状态 private static final int COMPLETING = 1; 进行中状态 private static final int NORMAL = 2; 正常结束 private s

2020-06-01 10:23:01 4558

原创 android:关于Calendar取值星期月份的关系问题

本篇注意是为了提醒大家,实际我们的认知和计算机中取 月和星期 的值的对应关系一,取星期的值Calendar.get(Calendar.DAY_OF_WEEK);的取值是 1-7,所以按照index取值,得减去1所以方法的取值需要减1注释:按照西方的周习惯,周日是排在第一位的,所以,星期放入数组的顺序要注意二,取月份的值int month = (Calendar.g...

2019-11-08 11:01:39 8617

原创 Android:命令行方式获取屏幕分辨率

不想写app代码,想简单一些获取手机的分辨率,办法就是采用adb命令:打印详细方式:adb shell dumpsys window displays打印简单方式:adb shell wm size按照顺序,详细模式,简单模式,用的是小米2...

2019-11-04 19:31:06 9412

原创 android:使用设置TextView的drawable,有奇效

设置TextView的drawable代码设置: setCompoundDrawables()Drawable drawable = getResources().getDrawable(image);// 这一步必须要做,否则不会显示.int px = DensityUtils.dip2px(5);//这里也别说明一下,是要动态改变显示图标的大小(在xml里是没有api改变的)...

2019-11-02 18:07:27 9266

原创 android mvvm入门

0.开启mvvm许可1,书写布局<layout>包裹,<data>导入对象<layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:to...

2019-11-01 23:16:38 5762 3

原创 kotlin开发:androidstudio无法编译kotlin项目解决办法

0。创建kotlin项目,但是总是不成功猜想:是否是因为androidstudio的版本3.4不支持kotlin的1.3.21,导致的项目编译失败呢?安装之后还是失败,于是继续解决.1。androidStudio报错No cached version available for offline mode 解决方法原因是之前为了提高编译速度,在Gradle设置选项中开启了O...

2019-11-01 10:09:58 7868

原创 微信小程序:延时操作setTimeout

延时操作api基本写法 setTimeout(function() { console.log('我是xx') }, 3000);完整说明:number setTimeout(function callback, number delay, any rest)设定一个定时器。在定时到期以后执行注册的回调函数参数function cal...

2019-10-31 16:42:33 7000

原创 微信小程序:点击事件传参实例

小程序传参写法:<view bindtap="onTabsItemTap" data-index="{{index}}"></view> 说明:bindtap用来绑定js文件中的方法,data-index用来传递参数(注意 data-* *号是通配符,可以自定义名称,注意取值的时候对应即可)接收参数onTabsItemTap:function(...

2019-10-31 16:40:01 757

原创 kotlin派生类初始化顺序

派生类初始化顺序在构造派生类的新实例的过程中,第一步完成其基类的初始化(在之前只有对基类构造函数参数的求值),因此发生在派生类的初始化逻辑运行之前。open class Base(val name: String) {​ init { println("Initializing Base") }​ open val size: Int = na...

2019-10-30 15:16:44 1050

原创 如何在kotlin中使用$字符串而不是转义符

如果你需要在原始字符串中表示字面值$字符(它不支持反斜杠转义),你可以用下列语法:val price = """${'$'}9.99"""

2019-10-30 14:38:20 6740

转载 微信小程序:页面生命周期

下图说明了页面Page实例的生命周期。

2019-10-29 11:37:35 643

原创 android组件:活跃界面activity

activity中Activity fragmentActivityAppCompatActivity的区别:Activity是最基础的一个,是其它类的直接或间接父类。Activity中只能使用系统自带的host Fragment(API Level 11中加入),对应getFragmentManager方法来控制Activity和Fragment之间的交互。FragmentAct...

2019-09-29 20:21:20 780

原创 android:单例的理解,以及实现方式

单例的特点构造方法不对外开放,为private 确保单例类只有一个对象,尤其是多线程模式下 通过静态方法或枚举返回单例对象 确保单例类在反序列化是不会重新创建新的对象实现方式主要有如下几种: 饿汉式 public class Singleton { /* * 饿汉式是在声明的时候就已经初始化Singleton1,确保了对象的唯一性 * * 声...

2019-09-26 21:45:30 649

原创 android日期选择:切换日期显示

问题:日期选择需求,展示年月和当月所有日期的同时,能够动态切换日期,同时今天要特别显示分析:页面元素主要包括,年 月 一个月的天和天对应的星期名用户操作交互时,首次进入需要获取当前日期的 年 月 和本月的全部天和星期点击年月的上下箭头,需要月加减,遇到1月减或者12月加时,需要年份进行增减,同时 月份变化,也需要获取变化后的月天数和对应的星期名 并刷新特殊需求:...

2019-09-25 17:43:42 1668 2

原创 android开发:EditText关联软键盘enter变搜索

问题:大概是下图这样一个页面,搜索框这里想点击就搜索,没有其他的按钮(比如:搜索按钮,完成按钮)支持,那么就只能动动输入法的脑筋了。分析:这个搜索框的示例,其实ios上比较流行且统一(毕竟就苹果家自己的,想做什么样都可以,安卓碎片化 emmmm),就想起来安卓其实也有这种功能,说做就做!相关资料首先既然想在EditText 获取焦点以后,键盘右下角显示完成,那就在需在xml...

2019-09-24 19:58:13 1097

原创 android开发:小米手机开发时非要sim卡才能调试怎么办?

问题:公司新的测试机是小米2s,但是到了安装调试包时,总是安装失败,不管是打开开发者模式,还是启动或者禁止mui优化功能,都一直出现安装不可用,后来往上查了下,是因为小米系统包稳定版做了限制,必须要sim卡才能调试(迷之设定),所以在各种逛论坛,刷博客之后,终于决定,刷个没限制的系统吧!分析:问题比较简单,只是小米手机系统的开发和用户区分开,做个sim卡限制,要么突破限制,要么换...

2019-09-24 19:35:59 74273 25

原创 android:RecyclerView基本用法

引言5.0新控件RecyclerView,它直接提供了回收复用的功能,并且还提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator 实现 ListView,GirdView,瀑布流等效果。基本用法首先,由于 RecyclerView 属于 v7-支持库,因此我们在使用之前需要先添加依赖:...

2019-09-23 13:00:45 1207

原创 android组件:GridView网格布局基本实现

在Android程序设计中GridView跟ListView都是比较常用的多控件布局,GridView的用法很多,主要凸显的是那种网格式布局,既有横向也有纵向的数据显示。基本用法效果图实现思路是1、初始化控件2、定义图片资源mThumbIds3、定义ImageAdapter创建item布局<RelativeLayout android:la...

2019-09-22 22:09:56 1257

原创 android快被废弃的组件:listview仍有学习意义

引言listView就是我们过去常用的列表组件,不过现在已经基本被recycleView取代了,主要还是listview的性能和可扩展性跟不上新的recycleView,越来越少的场景能够使用它,不过recycleView脱胎于Listview和GridView,并进行了大量优化,所以学习Listview仍然很有意义。基本用法列表效果如下xml文件<Linea...

2019-09-22 06:56:12 1625

原创 常用组件:ViewPager和fragment组合

引言viewpager和fragment是项目中亮相最多的组合,很多场景,例如 项目起始页,新闻首页,商城分类页,订单列表页等等,应用场景广泛,希望大家好好学习基本用法xml文件<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"...

2019-09-21 22:55:56 803

原创 常用组件:ViewPager和View的组合

引言ViewPager 是 android 扩展包 v4 包中的类,这个类可以让用户左右切换当前的 view。ViewPager 直接继承了 ViewGroup,所有它是一个容器类,可以在其中添加其他的 view 类。ViewPager 需要一个 PagerAdapter 适配器类给它提供数据。ViewPager 经常和 Fragment 一起使用,并且提供了专门的 FragmentPager...

2019-09-21 22:11:22 1604

原创 常用组件:android的单选按钮RadioButton

学习完复选按钮,在来学习单选按钮(复选相对的就是单选嘛),这个按钮也比较简单,但是会用到一些组合组件的思想,大家可以认真体会!基本用法RadioButton经常会结合RadioGroup一起使用,实现多项单选功能的操作<RadioGroup android:id="@+id/job_list" android:layout_...

2019-09-14 00:53:11 825

原创 常用组件:android的多选按钮CheckBox

CheckBox是多选按钮,具有两种选择状态操作的特殊按钮,主要功能是帮助用户完成复选操作。虽然不如前几个组件用的多,但是在很多交互操作上能实现不错的效果。基本用法<CheckBox android:text=" 全选" android:layout_width="wrap_content" android:layout_heig...

2019-09-14 00:27:36 1283

原创 常用组件:android的按钮组件Button

点击按钮是最常用的几个组件了,在android中是Button类,区别于Textview,Button最主要的特点是焦点和默认点击效果非常集中,我们一起了解一下。 基本写法:<Button android:id="@+id/btn_click_one" android:layout_width="wr...

2019-09-12 17:59:03 2737

原创 查漏补缺:Android 获取屏幕宽高的方法统计

获取设备屏幕高度是个很重要的属性,把它记录下来一,通过Display获取 Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); Log.d(TAG, "width =...

2019-09-10 20:08:08 960

原创 常用组件:android的输入组件EditText

本文的主要内容是EditText输入框的基本api介绍,前面的textView是一个单纯用于显示的view,而EditText是一个允许用户输入文字的可交互组件,让界面可以修改了! 基本代码示例为: <EditText android:inputType="date" android:l...

2019-09-09 16:17:14 1658

原创 常用组件:android的图片组件ImageView

讲完文本显示,想让内容更丰富多彩,图片是必不可少的元素,好看的图片会为整个应用添上色彩。android对图片的封装非常完善,仅仅需要几行代码就能有非常丰富的图片展示,api赶快学起来! 一,基本写法,示例代码<ImageView android:id="@+id/iv_shadowImage_ta...

2019-09-09 15:40:34 2716

原创 常用组件:android的文本Textview

讲完常用布局,单纯放点背景颜色绝对不是咱们的目标,更丰富的内容表现才是咱们就需要的,到了这时候,我们首先想到的就是文本内容如何显示,android专门提供了一个组件来解决这个问题,就是TextView,让我们一起来学习它吧! 一、关于TextView,最常用的核心api就是下面两个:android:text设置显示文本.andr...

2019-09-09 10:56:18 782

原创 第一只脚进门:Android常用的布局学习

这次是说明常用布局(Linearlayout RelativeLayout FrameLayout ConstraintLayout)没有特殊要求的话,这些布局已经能满足绝大部分要求了,当然有特殊要求咱也能解决,技术是一步一步提升的,不要着急哈。 LinearLayout(线性布局)绝对好用,子view排列省心省力,权重适配屏幕的常客,反正是个好东西...

2019-09-07 17:40:44 662

原创 新建项目:android目录结构介绍

小伙伴们安装完成android studio之后,一定顺便新建了个安卓项目,可是打开一看,这一大串文件看的让人头大,都tm是些啥?有啥用?我代码呢? 带着疑问,我们看看我们的项目目录:1、.gradle和.idea这两个目录下放置的都是Android Studio自动生成的一些文件,我们无须关心,也不要去手动编辑。2、app...

2019-09-07 15:45:29 738

原创 带好装备:androidstudio工具介绍

磨刀不误砍柴工,好的工具事半功倍,咱们学好开发工具,才能体验开发真正的快乐! 一,安装环境下载安装java环境https://www.runoob.com/java/java-environment-setup.html下载安装androidstudio软件:安装方法参考https://blog.csdn.net/yuanguangyu122...

2019-09-06 20:14:26 1364

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除