自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 App Inventor增加jar库文件

在appinventor/lib文件夹中新建一个文件夹,把新增的库文件放到文件夹中,如下: .../appinventor-sources/appinventor/lib/jsoup 修改build.xml文件,参考添加json.jar的代码,有添加json.jar的地方,都添加新增库文件的代码...

2019-01-26 11:49:30 812 6

原创 《App Inventor 2 定制与二次开发》的配套资源和一些常用扩展插件的下载地址

《App Inventor 2 定制与二次开发》这本书的配套资源和一些常用扩展插件的下载地址: https://github.com/xjbclz/appinventor

2018-11-07 19:46:15 5562 3

原创 新书上市:App Inventor2定制与二次开发

京东:http://item.jd.com/12380450.html当当:http://product.dangdang.com/25289290.html 亚马逊:https://www.amazon.cn/dp/B07D5952X5/ref=sr_1_1?ie=UTF8&qid=1...

2018-06-09 15:44:36 3989 2

原创 新书上市:Android APP开发实战 从规划到上线全程详解

https://item.jd.com/28649240718.htmlhttp://product.dangdang.com/25282490.html https://www.amazon.cn/dp/B07D4ZPMGJ/ref=sr_1_5?s=books&ie=UTF8&...

2018-05-31 21:35:57 4455 1

原创 AI开发实战11-加密功能插件的开发

20.1.1 插件的实现 首先需要建立存放插件源码的文件夹: /appinventor/components/src/com/qz/extensions 然后创建源码文件Encryption.java,其中的代码如下: //插件的包名,通常是三段式com. + 功能描述. + extens...

2017-09-16 11:20:09 8681 0

原创 APP开发实战179-Activity消息路由

12.2 Activity消息路由 在Android开发中,常遇到多个Activity间的相互通信和调用,这样会导致Acticity间的横向依赖。 Activity间的相互通信和调用主要是通过调用startActivity()函数实现的,使用startActivity()的缺点是需要被通知或调...

2017-09-16 11:01:59 7199 0

原创 AI开发实战10-文件管理器(File)的定制

9 文件管理器(File)的定制 App Inventor2内置的文件管理器没有修改文件名和获取文件大小两个常用功能,现修改源码实现这两个功能。 文件管理器的源码文件是File.java,在其中增加两个函数:  @SimpleFunction(description = "修改文件名&q...

2017-08-29 22:29:23 8007 2

原创 APP开发实战178-查看和删除多余的依赖库

Android Studio的“Project”视图显示了一个名为“External libraries”的区域,在这里,可以查看项目使用的所有库,包括任何传递依赖项,如下所示: 从这里看到所有模块的依赖库,如想看其中某个模块的依赖库,如想看一下模块liba_odoo_api的依赖库: ...

2017-08-29 22:08:22 7910 0

原创 AI开发实战9-Web浏览框(WebView)的定制2

7.2 返回键功能的处理 用App Inventor2开发的App,组件都是依附在Screen上,用户点击按键,也是Screen先接收按键事件,对于返回键的处理代码如下(在Form.java中): @Override  public boolean onKeyDown(int keyCode...

2017-08-27 15:49:33 7820 0

原创 AI开发实战8-Web浏览框(WebView)的定制1

7 Web浏览框(WebView)的定制 7.1 增加拨号功能 目前许多网页上都显示有电话号码,供用户在浏览网页的时候,可以直接拨打电话,但App Inventor2提供的Web浏览框不支持此功能,使用不方便,现修改源码使其支持此功能。 Web浏览框额源码文件是WebViewer.java,...

2017-08-27 15:48:28 8411 0

原创 AI开发实战7-列表显示框(Listview)的定制

6 列表显示框(Listview)的定制      AppInventor2提供的列表显示框,用户可以设置是否在其上显示搜索框,但搜索框中显示的提示字符串为英文,可修改为中文。     列表提示框的源码文件是ListView.java,修改的代码如下:     //txtSearchBox.set...

2017-08-26 12:08:03 9305 0

原创 AI开发实战6-图像组件(Image)的定制

5 图像组件(Image)的定制 App Inventor2提供的图像组件只支持左右滑动的动画形式,如下所示: 现修改代码使其也支持上下滑动的动画形式。 图像组件的源码为Image.java,其中有如下代码: /**    *Animation property setter met...

2017-08-23 23:29:55 8053 0

原创 AI开发实战5-文本输入框(TextBox)的定制2

4.2 增加私有的属性 如果想增加只属于文本输入框的属性,如增加一个属性,用户可设置文本输入框只是用于输入电子邮箱,则需要修改TextBox的代码: //属性变量 private boolean acceptsEmailAddressOnly;   /**获取属性值的函数       ...

2017-08-23 20:49:00 7555 0

原创 AI开发实战4-文本输入框(TextBox)的定制1

4 文本输入框(TextBox)的定制 4.1增加公共的属性和函数 文本输入框也是常使用的组件,App Inventor2提供的组件已经包含了许多属性和函数,但有些常用的属性并未提供。 如用户在文本框中输入字符的时候,常会有字符个数限制的,现就开发一个设置字符串长度的属性,以方便使用。 A...

2017-08-22 21:23:48 8720 0

原创 AI开发实战3-定制自己的Screen

3 Screen的定制     Screen可以说是App Inventor开发的最基础组件了,其对应的源码在/appinventor/components/src/com/google/appinventor/components/runtime/Form.java 使用App Inventor...

2017-08-20 14:12:43 8406 1

原创 AI开发实战2-定制自己的AI伴侣

2 App Inventor2 Companion的定制     用ant命令编译App Inventor的源码后,在appinventor/build/buildserver文件夹里会生成AI伴侣APP:MIT AI2 Companion.apk     AI伴侣的源文件在appinventor...

2017-08-20 13:45:01 10876 0

原创 AI开发实战1-App Inventor的编译

1 App Inventor的编译 编译AppInventor需要使用ant,在项目的GitHub上https://github.com/mit-cml/appinventor-sources有如下说明: Youwill need a full Java JDK (6 or 7, prefer...

2017-08-19 21:12:24 10375 2

原创 APP开发实战177-Autosizing TextViews(自动调整文字大小的TextViews)

自动调整文字大小的TextViews   Android O允许开发人员制定TextView,可以基于TextView的特性和边界布局自动放到文字或缩小文字以填充布局空间。这使得更容易依据不同尺寸的屏幕和不同的文本内容优化文字尺寸。 从26.0 Beta版的支持库开始,支持此功能运行在装了A...

2017-06-29 23:06:51 10843 0

转载 OkHttp实现分析之Websocket

转自:https://www.wolfcstech.com/2017/02/23/OkHttp%E5%AE%9E%E7%8E%B0%E5%88%86%E6%9E%90%E4%B9%8BWebsocket/?utm_source=tuicool&utm_medium=referral ...

2017-06-24 22:05:02 12343 0

原创 从Gitlab中导出issue到Excel文件中

gitlab中的issue管理模块功能很弱,连把issue导出到excel表格中的功能都没有,需要使用者自己实现。 gitlab提供了API接口可以对gitlab里的数据进行各种操作,对应的说明文档网址为:https://docs.gitlab.com/ce/api/ 可以利用gitlab提供...

2017-06-11 18:56:56 17909 3

转载 像大牛一样写代码: 31个Android 开发者工具

原文:Code like a pro: 31 tools for Android app developers。文中部分工具是收费的,但是绝大多数都是免费的。 FlowUp 这是一个帮助你跟踪app整体性能的工具,深入分析关键的性能数据如FPS, 内存, CPU, 磁盘, 等等。FlowUp...

2017-06-03 17:44:39 10503 0

原创 APP开发实战176-服务器接口的单元测试

31.19 服务器接口的单元测试 在APP开发中,往往接口开发和APP开发的进度是并行的,甚至还落后于APP开发,导致在APP端调试接口非常麻烦,如果在APP端能模拟接口调用,那就极大的提高了APP开发和测试的效率。 31.19.1 单元测试简介 用Android Studio新建工程后,在...

2017-05-30 22:14:38 11676 0

原创 APP开发实战175-针对Android7.0及更高版本的后台优化方案

31.18 针对Android7.0及更高版本的后台优化方案    Android 7.0删除了三项隐式广播,以帮助优化内存使用和电量消耗。隐式广播会在后台频繁启动已注册侦听这些广播的应用。删除这些广播可以显著提升设备性能和用户体验。     移动设备会经历频繁的连接变更,例如在 WLAN 和...

2017-05-21 19:36:37 10315 0

转载 APP开发实战174-Android7.0的屏幕缩放功能对APP的影响

Android 7.0 支持用户设置显示尺寸,以放大或缩小屏幕上的所有元素,从而提升设备对视力不佳用户的可访问性。用户无法将屏幕缩放至低于最小屏幕宽度 sw320dp,该宽度是 Nexus 4 的宽度,也是常规中等大小手机的宽度。 图 3. 右侧屏幕显示的是一台运行 Android...

2017-05-21 17:29:07 12700 0

原创 APP开发实战173-ActionBar资源文件的生成工具

ActionBar在APP中得到了广泛使用,有一款在线工具:Android Action Bar Style Generator,可以根据用户的设置,自动生成各种风格的ActionBar资源文件,包括XML文件和图标文件,有效的提高了开发效率,链接如下: http://jgilfelt.gith...

2017-05-20 17:36:37 4905 0

原创 APP开发实战172-统计APP启动时间的方法

从Android4.4(API19)开始,logcat输出日志的时候,会输出一行内容,其中包含Displayed字符串,这行内容表示从启动到完成绘制屏幕上相应活动的过程中APP所花费的时间量,包含以下时间: 1 启动进程 2 初始化对象 3 创建和初始化Activity 4 布局 5 第一次绘制A...

2017-05-15 22:08:41 3558 0

原创 APP开发实战171-使用APK Analyzer分析APP

27.1.4 使用APK Analyzer分析APP 27.1.4.1 APK Analyzer简介 Android Studio自带了一个APK分析工具:APK Analyzer,可以使用它查看编译后的APK文件的组成,可用于解决APP中的DEX文件和资源文件问题,也有助于减少APK的所占的存储...

2017-05-14 15:16:33 4357 0

原创 APP开发实战170-ABI管理和SO文件的使用简介

23ABI管理 23.1 ABI简介 不同Android设备使用不同的CPU,因此支持不同的指令集。CPU与指令集的每种组合都有其自己的应用二进制界面(或 ABI)。 ABI可以非常精确地定义应用的机器代码在运行时如何与系统交互。开发者必须为应用要使用的每个 CPU架构指定ABI。      ...

2017-05-13 15:56:18 3918 0

转载 Websocket 基础篇

转自:https://www.qcloud.com/community/article/142731?fromSource=gwzcw.116656.116656.116656 一、理解 socket , tcp , websocket, http 的联系和区别 socke...

2017-05-13 15:54:43 2823 0

转载 APP开发实战169-屏幕纵横比的参数设置

为给用户带来更具吸引力的观看体验,许多 Android 原始设备制造商 (OEM) 推出超宽屏智能手机,如Samsung Galaxy S8采用纵横比达 18.5:9 的全新显示屏,LG G6采用纵横比达 18:9 的超宽显示屏。 (左图)18.5:9 设备上最大纵横比设置为 16:9 的应用 ...

2017-05-07 15:46:06 4861 0

原创 APP开发实战168-APP快捷图标的功能设计

30.16 APP快捷图标的功能设计 30.16.1简介 如果APP在Android7.1(API25)或更高级别的系统上运行,在APP中,可以定义一些快捷图标和特定的功能关联起来,这些快捷图标可以显示在支持此功能的桌面上,如下图所示: 每个快捷图标可以关联一个或多个intent,让用户...

2017-05-01 22:01:35 3610 0

原创 APP开发实战167-开机自启动的功能设计

30.15 开机自启动的功能设计 30.15.1 普通模式 对于Android7.0之前的系统,如果设计APP在系统启动之后自启动,只需在APP添加处理ACTION_BOOT_COMPLETED广播消息的代码即可。 30.15.2直接启动模式 从Android7.0开始,系统有了一种新的启...

2017-04-30 16:42:21 5915 0

原创 APP开发实战166-全屏模式的功能设计

30.14 全屏模式的功能设计     APP的许多场景需要全屏展示内容,如播放视频、浏览图片和阅读书籍时等场景。从Android4.4开始,Android系统提供了2种方案让APP进入全屏模式:Lean Back和Immersive。使用这2种方案时,Action Bar、Status Bar...

2017-04-22 22:35:42 3564 0

原创 APP开发实战165-利用工具减少APP大小

26.1.4 利用工具减少APP大小 1 使用Lint扫描可以发现冗余的代码和资源文件,然后手动删除。 2 在APP的build.gradle文件中,进行以下设置: buildTypes {         release {             //开启混淆功能             ...

2017-04-05 21:36:52 5206 0

原创 APP开发实战164-Evernote的JobScheduler方案

34.13.2 JobScheduler的替代方案     前面提到,使用JobScheduler时,即使执行任务的条件不满足,任务也会被执行;为了规避这个缺陷,可以使用Evernote提供的库让APP定期执行任务,以下是具体的实现方式。   在build.gradle文件中增加库的依赖: ...

2017-04-03 18:28:18 6263 1

原创 APP开发实战163-JobScheduler介绍

许多APP都需要定期执行某个或某几项任务,如在联网状态下,每隔一段时间上传日志数据给服务器,或在手机处于Idle状态时,定期清理手机的存储空间等。 以往实现这样的功能时,往往需要启动一个定时器不断的轮询执行任务的条件是否满足,如果满足还需启动定时器定期执行任务,这种机制的实现方式比较麻烦。 3...

2017-04-03 18:26:30 3292 0

原创 APP开发实战162-减少预置图片所占空间大小方法汇总

1 尽量使用Android和iOS系统自带的图片,系统没有的图片,才预置在APP中。   2 减少预置图片的个数,如AndroidAPP可以只预置一套XHDPI密度的图片,只有个别的小图标,如桌面icon,每种密度的都预置一张。iOS APP只预置2X和3X的图片。   3 普通的位图在不...

2017-03-25 16:42:28 6355 0

原创 APP开发实战161-图片格式的选择

针对不同内容的图片,选择不同的格式:具有丰富多彩颜色的图片用JPG格式比PNG格式具有更高的压缩率,图片所占空间更小;具有比较单调颜色的图片,采用PNG格式比JPG格式所占的空间更小。 如下图所示,左边的图片颜色比较丰富,右边的图片颜色比较单调: 之前已经介绍过,WebP格式的图片比PNG和JP...

2017-03-25 15:55:26 2358 0

原创 APP开发实战160-WebP格式图片简介

23.1.2WebP格式介绍 WebP是Google发明的一种图片文件格式,这种格式的图片既可以像JPEG格式的图片那样实现有损压缩,也可以像PNG格式的图片那样具有透明度特性,但这种格式可以提供比JPEG或PNG格式更好的压缩效果。 无损压缩的WebP格式图片比PNG格式的图片占据的存储空间...

2017-03-25 15:50:56 1968 0

原创 APP开发实战159-广播的安全性

18.4广播的安全性 Android中的广播可以跨进程甚至跨APP直接通信,这样会产生两个问题:1 其它APP可以接收到当前APP发送的广播,导致数据外泄。 2 其它APP可以向当前APP发送广播消息,导致APP被非法控制。 Google官方提供了几种方案,从发送广播和接收广播两个方面增强广...

2017-03-05 23:24:51 4501 0

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