设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textview达到圆形的效果, textview文字属性 文字属性使用gravate调整位置, activity的launchmode四种 其中singleTop singleStrack 使用方式不同,当首页界面,加载页设计为此时,不会频繁销毁activity,同时有利于广告植入, linerlayout o…
TBS 的接入和使用 TBS 的接入 腾讯TBS是X5内核的升级版,可以当作webview 来打开 网页,可以以用来打开docx doc pdf 等文件,这里主要使用的是文件功能. 依赖接入 api 'com.tencent.tbs.tbssdk:sdk:43939' 这是笔者2021/2/25编辑时最新版本,最新可在官网查询. 如果依赖文件下载有问题可手动下载jia包,本地依赖包可放在 app/libs 下,文件夹可自行创建,同时在 app/src/main/jniLibs/armeabi 下…
BindView ButterKnife 优势 绑定组件方便,使用简单 处理点击事件方便,如adapter中的viewholder 同时父组件绑定后子组件无需绑定 注意 在setcontentview之后使用,且子空间不可再使用static final属性 在不改变按钮图片大小的情况,扩大点击事件, 在较低Android版本此方法可能有问题,即src和setbackground的区别,同样可以设置背景图片,但src仅将图片资源加载,不做其他处理,而setbackground会使图片自适应与按钮大…
fragment与pageView fragment fragment不可以侧滑切换相关界面,但多数代码位于fragment中,易于维护,同时不会受到多个手势滑动的影响 pageView pageView与fragment的实现有相似之处,但代码臃肿,同时易被侧滑手势干扰 为textView添加边框 有两种方式1使用资源文件布局,为textView直接添加背景src 操作简单 2使用自定义view绘制矩形框,Draw绘制函数使用左上 右下两点坐标确定,实际上是矩形四条边对边界的位置. relat…
layout_weight属性 layout_weight属性我们常常用到,但有时候会发现它还有一些奇怪的属性,比如大多数使用时会把宽度设置成0,但要是宽度不设置成0会有什么效果? layout_weight的属性意义为权重大于零的控件会分配剩余控件 意义为如控件属性设置为wrap_content时,如一个控件内容为"123",另外一个为"123456",两者同时设置相同的权重,后者大小会比前者大,是由于先分配内容空间,后为两控件设置剩余空间. 当layout_wi…
kotlin-android-extensions 插件被废弃 笔者曾经尝试写过一部分的kotlin代码 主要是项目中一些代码是kotlin完成的,其中我认为 kotlin的kotlin-android-extensions 插件非常方便,甚至超过了需要插件的butterknife,但谷歌在最近AS4.1后宣布放弃使用kotlin-android-extensions插件,似乎是由于recyclerview的viewholder的原因.再加上butterknife作者似乎也不再更新,所以掌握vi…
builder模式创建自定义popwindow builder设计模式 将一个复杂的对象构建与它的表示分离,简化代码的使用方式.当对象有多个参数或多个零件同时初始化方法同时初始化方法有默认值时,采用此模式比较方便. 主要结构 basepopwindow 产品类 builder 产品类具体的构造类 basepopwindow的子类 BasePopController 产品类控制类 PopupParams 产品类参数类 basepopcontroller 的子类 代码实现 public class…
Android 中的webview android 中的webview是可以在app内部打开HTML等的网页,不必再打开浏览器,有两种实现方法,即webviewclient webChromeclient 两种方法,如果仅仅是简单的点击和静态界面,直接使用第一种. 注意事项 一,开启网络权限,可能一项没有设置到最后的结果就是加载不出来,所以我们需要再manifist文件中设置权限 <uses-permission android:name="android.permission.INTER…
SharePreference SharePreference是一种持久化存储手段,使用场景很多,如第一次打开时加载的用户协议等.适合小数据单进程的应用.将数据以键值对的形式存储在XML中. 使用方式,edit接口,同时又commit和apply方法,推荐使用后一种,后一种为异步,前者为同步,对于单进程应用来说,数据更新不必太及时,只要确保数据的正确性,因为Android中sharedpreference是可以被多个进程读取,同时读取可能会导致数据出现问题. AIDL AIDL Android…
selector 是安卓资源文件的一种,它可以使按钮等实现不同状态下的不同UI,不用在代码中实现,而使用方式有两种,一种在color文件下 创建.xml可以使按钮等字体在不同状态下的变化,其二是在drawable中创建资源文件,可以设置背景等,下面的<shape标签可以绘制不同种图形,<gradient还可以实现渐变色的效果. 如何使一个textview显示两种不同字体的布局 对于新手来说可以使用多个textview拼接的方法,但此方法繁琐,一个textview实现有两种方法, 一是通过And…
Android设备调试桥 即adb 使用adb进行无线调试的一些常用命令 adb tcpip 5555 设置调试端口为5555 防止冲突 adb shell ifconfig wlan0 查询局域网中的移动设备局域网IP地址 adb connect 192.168.0.100 使移动设备和Android studio连接 adb devices 查询连接的设备 adb disconnect ip 断开连接 2. 使用插件 AndroidWifiADB 进行无线调试 注意的点 每次连接时都还要连接…
downloadmanager时Android系统下载器,使用系统下载器可以避免用stream流读入内存可能导致的内存溢出问题.以下为downloadmanager初始化部分.apkurl为下载网络路径.Environment.DIRECTORY_DOWNLOADS 为系统的下载路径.即下载至外部存储. mDownloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); String apkUrl = "https:/…
xmlns XML namespace xml命名空间 其中主要是定义xml文件定义位置 前缀有三种,android app tools 后面为唯一标识符URI android 表示为引用自安卓系统 app 表示引用自app依赖的包或自定义控件 tools 表示 调试工具,在一些如不应该在程序运行时出现的布局,但想在渲染布局时出现的属性可以使用tools 例如tools:text, tools:visibility, tools.src, tools.background 在布局设置时可以看到,…
安卓横竖屏大多数已经在manifest文件中将activity使用android:screenOrientation="portrait"属性写死,如简单的界面切换可直接更改为"sensor"属性,但如复杂的界面需使用其他方法. 1监听横竖屏切换变化 <activity android:name=".MainActivity" android:configChanges="orientation|keyboard|layoutDi…
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing/ Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度.带有源代码学习 大家都知道.现在好多头像都是圆形的,不再是以前的正方形或者长方形. 因此今天给大家带来的就是如何制作一个圆形头像.下面是效果图: 当然利用一个自定义View集成ImageView即可. package…
Android绘图机制(一)--自定义View的基础属性和方法 自定义View看起来,确实看起来高深莫测,很多Android开发都不是特别在行这一块,这里面的逻辑以及一些绘画都是有一点难的,说一下我目前的状况吧,结束了一个项目,现在接手一个新的项目,老项目的时候自己确实花了点时间去研究,包括看一些相关的博文和数据,新项目的自定义View更多,现在大致的对自定义View有了一些了解,但是你要说我会呢?我确实还没有掌握,只不过我把 我画的一些柱形图和其他图 的想法写出来,当然,你要让我说原理我肯定说…
Android绘图机制(三)--自定义View的三种实现方式以及实战项目操作 在Android绘图机制(一)--自定义View的基础属性和方法 里说过,实现自定义View有三种方式,分别是 1.对现有的控件进行扩展 2.通过组件来实现新的控件 3.重写View来实现全新的控件 所以本节就来带大家把这个流程走一遍,我们用到的项目还是 Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 本节现在就是做一个真正意义上的自定义View的操…
Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆形,三角形,多边形等-. 新建一个项目 然后我们创建一个listview,每个图案一个Activity,这样看起来是不是很顺眼 <ListView android:id="@+id/listview" android:layout_width="wrap_content&q…
  终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了.在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的简单实现,以及扫描视频文件,获取视频文件的部分信息,还没开始讲解如何使用vitamio这个库,这里就开始讲解下最简单的使用方法吧. 1.接口的简单使用   layout界面: <?xml version="1.0" encoding="utf-8"?> &l…
一般网络数据通过http来get,post,那么其中的数据不可能杂乱无章,比如我要post一段数据,肯定是要有一定的格式,协议的.常用的就是xml和json了.在此先要搭建个简单的服务器吧,首先呢下载xampp,然后安装之类的就不再多讲了,参考http://cnbin.github.io/blog/2015/06/05/mac-an-zhuang-he-shi-yong-xampp/.安装好后,启动xampp,之后在浏览器输入localhost或者127.0.0.1就可以看到如下所示了: 这个就…
python自动化开发学习 进程, 线程, 协程   前言 在过去单核CPU也可以执行多任务,操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换任务2,任务2执行0.01秒,在切换到任务3,这样反复执行下去,表面上看每个任务都是交替执行的,但是由于CPU速度太快,让我们觉得所有任务是在同时执行一样.真正的并行执行多任务只能在多核CPU上,但是由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把多任务轮流调度到每个核心上运行. 多任务的实现有三种方式: 多进程模式 多线程模式 多…
Android开发学习路线的七个阶段和步骤           Android学习参考路线     第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正则表达式. 3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收:构造函数.this关键字.方法和方法的参数传递过程.static关键字.内部类,Java的垃极回收机制,Javadoc介绍. 4.对象实例化过程.方法的覆盖.final关键字.抽象类.接口.继…
Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开发学习之路-下拉刷新怎么做? 本篇是接着上面三篇之后的一个对RecyclerView的介绍,这里多说两句,如果你还在使用ListView的话,可以放弃掉ListView了.RecyclerView自动帮我们缓存Item视图(ViewHolder),允许我们自定义各种动作的动画和分割线,允许我们对It…
Android开发学习之LauncherActivity开发启动的列表 创建项目:OtherActivity 项目运行结果:   建立主Activity:OtherActivity.java [java]  package wwj.otherActivity;    import android.os.Bundle;  import android.app.Activity;  import android.app.LauncherActivity;  import android.conten…
  最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路–NDK.JNI之初体验. 1.ffmpeg编译   进入正题,既然是ffmpeg的移植编译,那么就先下载ffmpeg,https://ffmpeg.org/download.html#releases.这里下载的是3.0.3版本.   新建ffmpeg文件夹,然后新建脚本用来编译ffmpeg,命名为…
环境也搭建好了,android系统也基本了解了,那么接下来就可以开始学习android开发了,相信这么学下去肯定可以把android开发学习好的,再加上时而再温故下linux下的知识,看看android源码,终有一天可以让自己提高到另外一个高度. 好了,言归正传,真正地开始android开发学习之路了. 相信很多人都知道android四大组件,它们分别是活动(Activity),服务(Service),广播接收器(Broadcast Receiver)和内容提供器(Content Provide…
环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块->linux内核驱动->hal层->jni->android framework层->android app做个简单的介绍. 1.芯片及硬件模块 就像人脑,电脑的cpu一样,android手机也需要一个中央处理器,那便是主控芯片.一般电脑的cpu是intel或者amd的,但是and…
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1,学习Android开发的第一步就是搭建Android的开发环境,博客园里面有不少人也写了关于如何搭建Android开发环境的文章,我也看…
原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/arcgis_mobile/article/details/8124005 通过上面章节,我们已经了解如何配置一个ArcGIS Runtime for Android开发环境,下面我们将介绍如何使用Eclipse创建一个ArcGIS移动项目Hello W…
原文地址: ArcGIS Runtime for Android开发教程V2.0(1)基本概念 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/arcgis_mobile/article/details/8113183   1.基本概念 1.1 Android简介         2007年11月,Google推出移动操作系统Android,并宣称Android是首个为移动终端打造的真正开放和完整的移动操作系统.自此,基于And…