自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 游戏项目导出AAB包上传谷歌提示超过150M的解决方案

上传海外游戏项目到谷歌商店的时候遇到超过150M问题的解决方案

2022-07-24 18:40:50 5830 1

原创 Cocos构建Android小游戏项目

前言由于自己刚接手小游戏项目,发现小游戏项目的坑还挺多的,为了以后方便自己查看或者别的小伙伴接手,特意写了这篇文档,记录Cocos构建Android小游戏项目的流程。目前我们公司使用Cocos Creator来构建小游戏项目。Cocos Creator是一个完全为引擎定制打造,包含从设计、开发、预览、调试到发布的整个工作流所需的全功能一体化编辑器。它很大的一个优点是能够兼容各种平台,目前支持发布游戏到 Web、iOS、Android、各类"小游戏"、PC 客户端等平台,真正实现一次开发,全平台运行。

2021-01-28 23:43:33 1314 1

原创 Android studio导入第三方库源代码

我们在开发Android应用的时候常常需要导入第三方开源库,导入开源库的做法有多种,比如直接导入jar包、导入源码、通过Gradle添加开源库等等。但是有时候我们需要自己修改第三方开源库源码来实现我们自己需要的特定效果的时候,我们只能通过导入源码来实现了。下面介绍Android studio(4.1.1版本)导入第三方开源库源代码的方式:1、下载开源库源码首先需要下载我们需要用到的开源库代码。像我在项目中需要使用到SlidingMenu的第三方库,首先需要去到官网下载源码:https://git

2021-01-16 14:49:26 1929

原创 onSaveInstanceState和onRestoreInstanceState方法的调用

只有当Activity在异常状态下被结束时,系统才会调用onSaveInstance方法,用于保存当前Activity的状态,以便后续在重建被异常结束的Activity时调用onRestoreInstatnceState方法来恢复现场。onSaveInstance方法只在Activity被异常结束的时候调用,而且是在onStop之前。onSaveInstance方法会把数据保存在Bundle对象中,当被异常结束的Activity被重建以后,系统会调用onRestoreInstanceState方法,并把

2020-10-08 23:36:51 1132 1

原创 Android Studio报错 Error:Unable to start the daemon process.

今天使用Android Studio打开一个正常的安卓项目的时候,发现报错了:Error:Unable to start the daemon process.由于这个项目在另外一台电脑上是可以正常运行的,所以怀疑是gradle之类的没有配置好。然后再看最后一行:Error occurred during initialization of VM Could not reserve enough space for 1572864KB object heap。在初始化VM的时候因为没有.

2020-07-30 17:46:45 3312

原创 Android——数据持久化技术(三) 数据库存储

数据持久化就是指将内存中的瞬时数据保存到存储设备中,保证即使设备在重启之后,数据仍然不会丢失。 持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android系统主要提供了三种方式用于实现数据持久化功能:文件存储、SharedPreference存储、以及数据库存储。一、文件存储文件存储比较适合用于存储一些简单的文本数据或二进制数据,因为它不会对存储内容进行任何处理, 只是原封不动地保存到文件当中。Context类提供了一个返回FileOutputStream对象的ope

2020-07-25 20:26:33 468

原创 Android——LitePal数据库框架的基本用法

LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表和增删改查的操作。LitePal项目的地址是:https://github.com/LitePalFramework/LitePal。...

2020-07-25 00:56:24 360

原创 浅析ContentValues

今天在学习SQLite数据库存储知识的时候,发现SQLiteDatabase对象可以先通过ContentValues对象进行数据的组装,然后利用SQLiteDatabase对象自身的insert()方法将ContentValues对象传入进行数据的存储。那么ContentValues是什么呢?...

2020-07-18 23:26:45 1433

原创 Android——数据持久化技术(二) SharedPreference存储

数据持久化就是指将内存中的瞬时数据保存到存储设备中,保证即使设备在重启之后,数据仍然不会丢失。 持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android系统主要提供了三种方式用于实现数据持久化功能:文件存储、SharedPreference存储、以及数据库存储。一、文件存储Android——数据持久化技术(一) 文件存储二、SharedPreference存储不同于文件存储,SharedPreference是使用键值对的方式来存储数据的。每存储一条数据,都需要S

2020-07-17 21:23:54 633

原创 Android——数据持久化技术(一) 文件存储

数据持久化就是指将内存中的瞬时数据保存到存储设备中,保证即使设备在重启之后,数据仍然不会丢失。 持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android系统主要提供了三种方式用于实现数据持久化功能:文件存储、SharedPreference存储、以及数据库存储。一、文件存储文件存储比较适合用于存储一些简单的文本数据或二进制数据,因为它不会对存储内容进行任何处理, 只是原封不动地保存到文件当中。文件存储的方式概括来说就是利用Java流的方式将数据写入到文件中存储。

2020-07-12 20:08:28 429

原创 Android——Android6.0的运行时权限

Android开发团队在Android6.0中引入了运行时权限机制。

2020-07-02 11:00:39 290

原创 ContextCompat.checkSelfPermission()方法

ContextCompat类的checkSelfPermission方法用于检测用户是否授权了某个权限。checkSelfPermission()方法需要传递两个参数,第一个参数需要传入Context,第二个参数需要传入需要验证的权限,如打电话的权限:ifManifest.permission.CALL_PHONE实例:ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)

2020-07-01 17:36:25 13008 2

原创 adb.exe已停止工作 弹窗问题

今天在cmd下运行adb root之后,突然弹出一个对话框:提示 adb.exe已停止工作在网上搜索发现这种情况可能是adb.exe程序使用的5037端口被占用了先不要关闭adb.exe停止工作窗口,在cmd 输入 netstat -aon|findstr 5037 查看5037端口是否被别的程序占用看到5037端口被一个PID为1276的线程占用了然后执行指令 tasklist /fi "PID eq 1276" 查看PID为1276的是什么线程可以看到PID为1276

2020-06-11 15:09:14 2348

原创 Android——广播机制原理

一、广播类型Andriod 中的广播主要分为两个类型:标准广播和有序广播。标准广播(Normal broadcasts)是一种完全异步执行的广播。在广播发送后,所有的广播接收器都可以在同一时刻接收到这条广播信息,然后各自进行相应的逻辑处理。标准广播的优点是效率高,当与此同时,也意味着标准广播是无法被截断的,所有的广播接收器都可以接受到。标准广播示意图如下:有序广播(Ordered broadcasts)是一种同步执行的广播。在广播发出后,同一时间只能有一个优先级最高的广播接收器来接收。.

2020-06-10 10:41:14 3052

原创 Android——网络操作基础

在Androidapp中,网络操作是不可或缺的一个模块,手机中数据的上传下载都需要通过app中的网络操作模块进行。下面我来介绍一下最简单的网络操作(get方法)。

2020-05-13 01:35:32 481

原创 adb shell截屏录屏命令

一、adb shell screencap截屏指令通过adb工具里的help指令查看screncap指令的用法:C:\Users>adb shell screencap -helpusage: screencap [-hp] [-d display-id] [FILENAME] -h: this message -p: save the file as a png. -d: specify the display id to capture, default 0.I..

2020-05-12 01:25:00 4178

原创 报错:ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.F

最近需要做竖屏的项目,在启用一段很久没动过的代码后,发现启动app的时候竟然报错了。看了下Log,报的是ClassCastException E AndroidRuntime: FATAL EXCEPTION: main E AndroidRuntime: Process: com.my.backcarapp, PID: 2327 E AndroidRuntime: java.lan...

2020-04-13 23:13:24 2044 1

原创 Android——Intent用法

Intent,意图,一般可以被用于启动活动、启动服务以及发送广播等场景,现在先说一下启动活动这部分。Intent分为显式Intent和隐式Intent。一、显式Intent的使用Intent有多个构造函数的重载,常用的一个有Intent(Context packageContext, Class<?> cls)。这个构造函数需要接受两个参数,第一个参数Context要求提供...

2020-03-09 20:58:11 1030

转载 Android——Intent.ACTION_VIEW

String Intent.ACTION_VIEW = “android.intent.action.VIEW”用于显示用户的数据。比较通用,会根据用户的数据类型打开相应的Activity。比如 tel:13400010001打开拨号程序,http://www.g.cn则会打开浏览器等。代码1:Uri uri = Uri.parse(“http://www.google.com”); ...

2020-03-08 20:54:21 10127

原创 Android——活动的启动模式

活动的启动模式总共有四种:standard、singleTop、singleTask、singleInstance。若要修改活动的启动模式,可以在AndroidManifest.xml中的标签添加android:launchMode属性来选择启动模式。若没有声明活动的启动模式,那么活动的启动模式默认为standard。下面来分别讲解四种启动模式:一、Standard启动模式Standard是...

2020-02-04 22:25:53 265

原创 Android Studio——warning:App is not indexable by Google Search

今天在新建一个Activity之后,进入到AndroidManifest.xml文件,发现<application>标签的代码一片黄色,原来是发出warning了。(这个warning其实对于app的运行没有影响,但是看着总觉得不顺眼,就看看有啥解决办法没)问题:警告信息:App is not indexable by Google Search consider ad...

2020-01-16 14:57:05 358

原创 Android Studio——minSdk(API 24) > deviceSdk(API 23)

今天在Android Studio中想将自己的app安装到连接电脑的华为手机中,但是点运行的时候发现设备用不了,提示:minSdk(API 24) > deviceSdk(API 23)原因:根据提示:我的设备Android API版本是23,但是当前项目可以兼容的最低API版本是24,所以app不能在这个设备上安装。解决办法:在目录中找到app目录下的build.gra...

2020-01-13 01:02:21 4100

原创 Android——选项菜单的创建

前言:在手机app中,有时候我们需要设置大量的菜单选项,如果直接在UI中显示出来会占用原本就不大的屏幕空间,导致app可用于显示信息的空间减少,降低了用户体验。这时,就需要用到menu控件了。menu控件用于显示应用程序的自定义菜单选项,一般位于app顶栏的右上角,在用户不需要使用到菜单选项的时候menu处于关闭状态,只会占用一个图标的空间,极大地提高了屏幕利用率和用户体验。步骤:下面...

2020-01-12 16:49:45 3189

原创 Android——网络调试 adb tcpip

有时候我们需要调试Android设备的时候会遇到Android设备没有多余的USB接口来连接电脑进行调试了,这时候我们可以通过打开打开adb tcpip进行网络调试。步骤:1、通过USB连接Android设备和电脑,打开cmd,执行adb root 和adb remount2、执行adb tcpip 5555(端口)指令3、将Android设备连接至同一网段,查看Android...

2020-01-10 15:36:55 1798 1

转载 Linux——修改权限功能:chmod

                                            &...

2020-01-10 10:53:34 683

转载 Android——十六进制颜色值

颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。参考链接:关于颜色十六进制颜...

2020-01-10 09:54:09 800

原创 剑指offer——面试题4:二维数组中的查找(Java版)

题目4:二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例子 : 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15查找数字7则返回true...

2020-01-09 20:50:23 205

转载 Android 系统广播大全

这篇文章主要给大家介绍Android 广播大全 Intent Action 事件详解,涉及到android广播action 方面知识点,本文讲解的非常的全面,感兴趣的朋友一起看看吧Intent.ACTION_AIRPLANE_MODE_CHANGED;//关闭或打开飞行模式时的广播Intent.ACTION_BATTERY_CHANGED;//充电状态,或者电池的电量发生变化/...

2020-01-06 12:02:45 396

原创 svn——svn 常用命令总结

svn查看操作1、svn log —— 显示服务器中各版本的作者、提交日期、备注信息等svn logsvn log -r 2:3 显示指定的两个版本的log信息svn log file 显示指定文件的log信息svn log -v 显示lo...

2020-01-03 18:45:04 3115 1

原创 svn——svn commit 用法

使用svn进行代码的提交有两种方法:一种是通过TortoiseSVN客户端界面进行提交,另一种是通过svn commit指令提交。方法一:通过TortoiseSVN客户端界面提交代码在需要提交代码的目录下右键,点击SVN Commit...此时会进入SVN的Commit界面,在[Message]处填写需要备注的信息,在Changes made区域选中需要提交的文件,最后点击OK即可...

2019-12-25 16:44:25 31764

转载 Java ——注解(Annotation)

原文地址:Java 注解(Annotation) Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注...

2019-12-18 17:08:49 387

原创 svn——conflict问题解决

今天工作中svn up工作目录的时候,发现有冲突的文件都自动执行跳过操作了,并且没有选项可以让我选择(如下图)记得以前有冲突的时候让我选择操作我有主动选择mark resolved,然后svn现在就自动帮我跳过了冲突处理,不过问题还是存在的。解决办法:在有冲突的目录下执行 svn resolve (解决工作副本文件或目录的冲突)查看冲突信息情况一:local file unve...

2019-12-17 15:27:40 10752

原创 生产者消费者模型的实现(Java版)

前言:生产者消费者模型是一个很常见的面试题,因为很多问题都可以转化为这个模型。首先来理解下什么是生产者消费者模型:生产者消费者模型可以理解为一个餐厅中的活动。首先厨师会将菜品放在桌子上,顾客开始消耗菜品。如果桌子满了,厨师会暂停上菜,等到桌子有空位再继续上菜;同理,当桌子上的菜品消耗完了之后顾客也会停止消耗,等待上菜。这就是一个经典的生产者消费者模型。wait()方法和notify()...

2019-12-15 15:53:18 118

原创 adb报错:more than one device/emulator

将Android设备与电脑相连的时候执行 adb root 出现错误:根据提示是说有超过一台设备或者虚拟机于是查看一下设备发现device list中的确有多个设备/虚拟机情况一:电脑连接多台设备解决方法:找到device list中哪台是需要操作的设备,执行 adb -s XXX(设备名)root这样adb 会连接到你需要操作的设备情况二:电脑只连接了一台设备...

2019-12-11 11:14:26 12934 2

原创 adb报错 Please ensure that adb is correctly located at...

最近在工作当中遇到了adb报错Please ensure that adb is correctly located at ‘D:\software\adt-bundle-windows-x86-20140321\sdk\platform-tools\adb.exe(SDK所在地址)’ and can be executed.但是我查看报错中提示的地址的时候发现是有adb.exe文件的。综合...

2019-11-28 15:26:44 657

原创 剑指offer——面试题3:数组中重复的数字(Java版)

剑指offer——面试题3:数组中重复的数字(Java版)题目3:找出数组中任意重复的数字 在一个长度为n的数组里的所有数字都在**0到n-1的范围**内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中**任意一个**重复的数字。例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},那么对应的输出是重复的数字2或者3。思路: ...

2019-11-28 14:08:21 212

空空如也

空空如也

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

TA关注的人

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