自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (14)
  • 收藏
  • 关注

原创 ProductFlavors不同依赖配置打包

在开发过程中,有时会遇到同一个APP要依赖不同的类库打不同的apk或者是同一个App打包的时候依赖不同的module。这个要怎么实现呢。其实很简单,就是使用我们的ProductFlavors。这里就不多说,直接看代码productFlavors { apkBaidu {} apk360{} }我们先声明两个Flavor,假设我们这里有moduleA,modul

2017-12-14 09:52:33 8322

原创 录音转换Mp3-Lame4Android 下篇

本文只是作为录音转换Mp3-Lame4Android 上篇的一点补充,增加上篇文章结尾提到6.0系统权限处理,同时简单讲下录音功能的实现。 如果没有看过录音转换Mp3-Lame4Android 上篇,请点击链接查看 录音转换Mp3-Lame4Android 的编译(http://blog.csdn.net/q919233914/article/details/54603441)1.导入jar和s

2017-01-19 15:52:03 2110 4

原创 录音转换Mp3-Lame4Android 上篇-带详细SO库编译教程

在Android与IOS上面如果做录音功能,一般手机录制出来的音频格式都不是MP3,为了两个平台的APP的录音文件一致,需要选择一种两个平台都支持播放且占用存储空间不会太大的音频文件格式,这里MP3就符合这一需求。我们这里选择libmp3lame把AudioRecord音频流直接转换成MP3格式。 本文使用eclipse进行开发 那下面就开始我们的前期工作1.给eclipse增加NDK开发支持我

2017-01-18 18:05:22 6369

原创 自定义下拉回弹View-掌握View冲突处理

文本核心学习自文章: 一个Demo带你彻底掌握View的滑动冲突 修改相应代码,拓展原文只能下拉不能拖动上下滑动的问题。 下面先上效果图: 整体可以滑动,下拉图片放大,上拉缩小,拉动过程中释放,布局自动回弹,子控件可滑动,不会跟最外层的控件产生冲突,大概的效果就是这样。 下面我们一步一步来做, 一、实现下拉回弹效果 实现滑动效果的方式我知道的有以下几种,1.动画实现,2,使用Scr

2016-12-10 16:16:12 847

原创 【鸿蒙应用ArkTS开发系列】- 沉浸式状态栏实现

在应用开发中,页面跟状态栏的默认显示效果一般是如下:但是产品UI设计的时候,一般是会设计一个沉浸式状态的页面效果,如下:那在鸿蒙应用开发中,应该怎么实现这个沉浸式状态栏的效果呢?下面我们来创建一个Demo工程进行讲解。

2023-12-25 19:40:14 4444 10

原创 【鸿蒙应用ArkTS开发系列】-自定义底部菜单列表弹窗

上一篇文章中我们实现了选择图片、选择文件、拍照的功能。链接在这里,大家有兴趣可以点击《【鸿蒙应用ArkTS开发系列】- 选择图片、文件和拍照功能实现》。之前的效果这一节我们要实现的效果上一节 我们是在页面布局中使用三个按钮来作为入口,但是有些场景,我们希望应用以底部菜单弹窗的形式来与用户进行操作交互。那在鸿蒙原生应用中,一个自定义的底部菜单列表弹窗应该怎么实现呢,这一节,我们来讲下这个基础知识。

2023-12-01 13:55:10 3275 1

原创 【鸿蒙应用ArkTS开发系列】- 选择图片、文件和拍照功能实现

在使用App的时候,我们经常会在一些社交软件中聊天时发一些图片或者文件之类的多媒体文件,那在鸿蒙原生应用中,我们怎么开发这样的功能呢?本文会给大家对这个功能点进行讲解,我们采用的是拉起系统组件来进行图片、文件的选择,拉起系统相机进行拍照的这样一种实现方式。

2023-11-28 21:00:44 5643 46

原创 【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现省市地区三级联动地址选择器组件(下)

我们在前面的课程,对云开发的入门做了介绍,以及使用一个省市地区联动的地址选择器示例,为大家演示了如何创建云开发工程,以及云数据库、云函数的开发实战。如果有读者还没看过前面的这两篇文章,那在读这篇文章之前,建议先看下以下这两篇文章,之后再来阅读本篇文章,会更好理解云开发这块的内容。《【鸿蒙应用ArkTS开发系列】- 云开发入门简介》《【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现省市地区联动地址选择器组件(上)》那我们现在正式开始今天的课程,本次课程是 《【鸿蒙应用ArkTS开发系列】- 云开发

2023-11-23 19:44:03 2380 4

原创 【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现省市地区三级联动地址选择器组件(上)

通过本次课程,我们将学习怎么使用云端一体化开发模板来创建云开发工程,以及如何使用云工程进行云数据库创建、云函数创建和调用。那下面我们直接进入本次课程的学习。使用云端一体化开发模板创建项目工程这块内容,在上一篇文章《【鸿蒙应用ArkTS开发系列】- 云开发入门简介》中已经进行了讲解,这块这里就不在过多赘述,没有看过的同学可以点击这里: 链接 查阅创建完毕,整体的工程目录结构如下:接下来,我们展开CloudProgram 这个项目,开始进行云数据开发。

2023-11-22 15:19:49 2382

原创 【鸿蒙应用ArkTS开发系列】- 灌水区,鸿蒙ArkTs开发有问题可以在该帖中反馈

新增新增这个文章呢,大家在开发使用ArkTS开发鸿蒙应用或者鸿蒙服务的时候,有遇到疑问或者问题,可以在本文章评论区提问,我看到了如果知道怎么处理的,会在评论区回复,也欢迎广大的鸿蒙开发爱好者们积极响应互助,一起帮助大家处理开发上遇到的问题。这是一篇水贴,给大家提供一个交流沟通鸿蒙开发遇到问题的地方。

2023-11-21 09:26:22 620 3

原创 【鸿蒙应用ArkTS开发系列】- 云开发入门实战一使用鸿蒙登录组件实现客户端登录

通过本次课程,我们将学习怎么使用云端一体化开发模板来创建云开发工程,以及如何使用鸿蒙登录组件SDK进行客户端登录功能的开发,那下面我们直接进入本次课程的学习。

2023-11-20 20:59:01 2018

原创 【鸿蒙应用ArkTS开发系列】- 云开发入门简介

HarmonyOS云开发是DevEco Studio新推出的功能,可以让您在一个项目工程中,使用一种语言完成端侧和云侧功能的开发。基于AppGallery Connect Serverless构建的云侧能力,开发者无需构建和管理云端资源,随需使用,大大提高构建应用/元服务的效率。随着我们应用功能越来越丰富,很多应用的运行都依赖云侧的支撑。相比于传统开发模式,云开发模式具备成本低、效率高、门槛低等优势。

2023-11-17 10:53:53 1453

原创 【鸿蒙应用ArkTS开发系列】- 父组件直接调用子组件方法

子组件控制器提供了一个attach方法,通过该方法将其与组件进行绑定(实际上就是持有组件实例),通过上面代码我们知道,在子组件ChildComponent的aboutToAppear函数中,我们进行了attach的调用,那子组件需要一个控制器实例,这个控制器实例从哪里获取呢,其实就是父组件引用子组件的时候设置的。子组件除了attach方法外,我们还看到了一个getName方法,这个方法只是一个代理方法,具体实现是在子组件中完成。今天这篇文档,讲的是鸿蒙应用开发中会遇到的一种常见场景,

2023-10-16 14:34:41 3940 4

原创 【鸿蒙应用ArkTS开发系列】- Har包中子组件中监听生命周期实现

我们在har模块中定义一个子组件,build() {... } }在App中定义壳页面,这里也可以创建一个HSP对外提供,壳页面配置在HSP包中,对外提供HSP给App集成(这个HSP的,后面有时间在单独写一篇进行讲解SDK的封装,有兴趣的可以私信我或者评论区留言)。build() {Column() {套娃模式,这样我们就能将har包中的子组件作为页面级别进行展示了。App需要对SdkPageShell进行页面路由配置。SdkPageShell 作为一个空壳页面。

2023-07-28 11:01:51 1640

原创 【鸿蒙应用ArkTS开发系列】- http网络库使用讲解和封装

现在网上的应用,基本都是网络应用,需要进行联网获取数据,而常用的联网获取数据的方式有http、socket、websocket等。在鸿蒙应用、服务中,stage模式开发下,鸿蒙官方为我们提供了一个网络组件库 http ,我们通过即可以完成引用。@ohos.net.http (数据请求)该组件提供HTTP数据请求能力。应用可以通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。具体查看官网。

2023-05-12 16:29:40 8292 10

原创 【鸿蒙应用ArkTS开发系列】- 导航栏Tab组件使用讲解

Tabs是一个通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图,它仅可包含子组件TabContent,同时搭配 TabsController使用。TabsController 是Tabs组件的控制器,用于控制Tabs组件进行页签切换。不支持一个TabsController控制多个Tabs组件。具体可查看官网介绍,这里就不多描述。//文本 icon_normal : Resource;// 默认图标 icon_selected : Resource;// 选中图标 }

2023-05-06 15:23:31 8284 12

原创 【鸿蒙应用ArkTS开发系列】- 轻量级缓存框架Preferences使用

Preferences 首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。具体参考官网。

2023-04-20 11:19:09 3831 4

原创 【鸿蒙应用ArkTS开发系列】- 常量类定义和使用

export const TAB_HOME_NAME : string = "首页";使用const修饰,然后使用export对外导出即可,这种方式是完全可以满足我们使用的,但是在项目业务复杂的时候,没有明显模块区分的常量定义散落的分布在项目之后,会不太好管理,所以采用面向对象技术开发的时候,我们习惯于使用定义成类的方式,然后在类中定义对应的常量。

2023-04-19 14:40:59 3368

原创 【鸿蒙应用ArkTS开发系列】- Web组件使用讲解

Web是提供网页显示能力的组件,具体用法请参考Web API。

2023-04-11 13:47:56 7684 28

原创 【鸿蒙应用ArkTS开发系列】- Ability页面跳转(拉起系统相册)信息传递载体Want使用

例如,在action字段的举例中,可存在多个应用声明了支持查看网址的操作,其中有应用为普通社交应用,有的为浏览器应用,您可通过entity.system.browsable过滤掉非浏览器的其他应用。Want的使用场景之一是作为startAbility的参数,其包含了指定的启动目标,以及启动时需携带的相关数据,如bundleName和abilityName字段分别指明目标Ability所在应用的包名以及对应包内的Ability名称。表示携带的数据,一般配合type使用,指明待处理的数据类型。

2023-04-04 15:15:48 3547 7

原创 【鸿蒙应用ArkTS开发系列】- 页面跳转及传参

【鸿蒙应用ArkTS开发系列】- 页面跳转及传参。

2023-03-08 10:34:53 9873 3

原创 【鸿蒙应用开发系列】- 应用置灰方案实现讲解

在某些特殊的日子里,有时候需要对应用进行一个置灰显示处理,在鸿蒙应用中,提供了一些很方便的方法,可以对控件或者应用进行灰色的展示。

2022-12-16 14:43:16 1594

原创 【鸿蒙应用开发系列】- 事件订阅者CommonEventSubscriber使用

我们定义一个MessageCommonEventSubscriber 类,继承自CommonEventSubscriber,然后实现onReceiveEvent方法,在方法中获取消息事件。由于一个事件订阅者可以订阅多个action(多个事件),因此我们这里通过getAction获取到对应的事件意图,然后再获取传递的数据。

2022-09-14 20:00:00 2086

原创 【鸿蒙应用开发系列】- 打开页面与页面间数据交互

在鸿蒙系统中,有两种方式可以启动一个页面,分别是 startAbility、startAbilityForResult, startAbilityForResult相对于startAbility,增加了页面关闭后返回的结果回传功能,那我们应该怎么使用、这两个方法达到一个开启新页面以及参数传递的功能呢,比如A页面,拉起B页面,传递一个字符串数据 “您好,这条消息来自A”,

2022-09-06 11:15:39 1511

原创 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式

在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。

2022-09-06 10:32:46 5344 3

原创 Android调用系统组件获取指定格式文件

try { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("audio/*"); activity.startAct...

2018-07-04 17:16:48 2039

原创 Android平台上获取文件的MIME

/** * 使用系统API,根据url获得对应的MIME类型 */ private String getMimeTypeFromUrl(String url) { String type = null; //使用系统API,获取URL路径中文件的后缀名(扩展名) String extension = MimeTypeMap...

2018-07-04 16:25:11 5509

原创 Android Studio使用gradle导出jar包并混淆代码代码记录二

1.偷懒式导出Jartask releaseMyLib(type: Copy, dependsOn: ['build']) { from('build/intermediates/bundles/release/') into('build/libs') include('classes.jar') rename('classes.jar', 'my-lib.jar'

2017-05-18 14:43:20 1905

原创 Android Studio使用gradle导出jar包并混淆代码代码记录一

创建一个Android module 和一个JavaLibrary module 在jardemo下的gradle文件中编写对应的导Jar包Task和混淆Task 1.导Jar包Tasktask makeJar(type: Jar, dependsOn: ['compileReleaseJavaWithJavac']) { appendix = 'demo' baseName

2017-05-18 14:25:30 3895 1

原创 文章记录

Gradle学习-------------------------------------------Gradle入门系列(1):简介 Gradle入门系列(2):第一个Java项目Gradle入门系列(3):依赖管理

2017-05-12 11:13:35 664

转载 Android 内核--Binder架构分析

转自:http://www.cnblogs.com/a284628487/p/3187320.html?utm_source=tuicool&utm_medium=referral一、Binder架构  在Android中,Binder用于完成进程间通信(IPC),即把多个进程关联在一起。比如,普通应用程序可以调用音乐播放服务提供的播放、暂停、停止等功能。Binder工作在Li

2017-03-16 15:14:26 1194

原创 AIDL简析使用

AIDL ,Android Interface definition language的缩写,就是经常讲的进程间通信。话就不说太多,直接代码搞起,这里我们创建两个module,都为应用类型的模块,一个客户端应用A,一个作为提供服务的服务端应用B(也是客户端),我们这里写一个简单的计算服务在服务端,然后A调用B的服务实现计算。 我们先创建B模块: 看到我圈中的地方,我们在main下跟java平

2016-11-10 15:30:19 568

原创 DiffUtil使用总结

最近看博客,发现了一个存在recycleview-v7包下的工具类DiffUtil,他是为recycleview的数据变化提供数据对比的工具类。 以前我们在更新数据适配器的时候,一般都是调用的mAdapter.notifyDataSetChanged(),这个是对整个列表的数据进行刷新, 调用该方法的时候并不会触发recycleview的动画,不过现在我们可以使用DiffUtil进行定向刷新,且带

2016-11-01 15:28:15 10620

原创 Android 系统语言切换监听和设置

最近项目上产品经理提了个需求,要求关闭语言国际化,不管手机系统设置那个国家的语言,都要显示汉语,好吧,既然有需求,那就做吧。但是项目中已经有英文的配置了,且是作为默认String提供的,这么多翻译好的文字,直接删除掉替换成中文为默认String又感觉弃之可惜。故网上Google下解决方案。就开始往下看吧。一、代码中动态设置应用显示语言(手动控制使用values-zh-rCN下字符串)这个方

2016-08-18 10:13:11 30084 6

原创 AndroidStudio编译.SO库文件心得一

文本心得通过以下三篇文章习来: Android Studio开发JNI工程 Android Sutdio开发NDK工程 在Android Studio中直接编译C/C++文件 谢谢三位作者的分享,才能学到这么宝贵的知识。 一直以来都是用的别的SDK提供的so库,编译so库文件跟调用so库的方法都是未曾尝试过。以前看博客了解的是使用Cygwin进行编译so. 现在有了An

2016-08-16 11:09:09 9854 1

原创 几种判断应用(Android App)前后台状态的方法

很多应用,在某些场景下可能需要判断应用的前后台状态,来实现某些功能,例如应用锁。 本文提供几种判断应用前后台状态的方法,这几种方法我在使用的过程中发现都有各自的局限性或者缺点。下面直接看方法吧。方法一 通过getRunningTasks获取 上面这种方式需要权限android:name=”android.permission.GET_TASKS” 且这个getRunningTasks已

2016-08-11 13:19:46 10513

原创 DrawerLayout使用(实现SlidingMenuUI效果)

以前做侧边栏功能,使用的是开源库SlidingMenu,最近在做透明状态栏的时候出现menu跟content没办法上移到状态栏的问题,想起以前创建的带侧边栏的Activity是能够使用状态栏的,不过他的侧边栏是用的系统自带的DrawerLaout,准确说应该叫做抽屉,命名跟他的效果也很贴切。 下面记录一些在使用DrawerLaout的时候遇到的一些问题及跟SlidingMenu在滑动风格上的区别,

2016-08-01 11:15:15 2423 5

原创 Android沉浸式状态栏尝试

本文说的沉浸式状态栏不是真正意义上的沉浸式(状态栏会收缩隐藏起来),而是目前国内国产手机提到的沉浸式状态栏,即是状态栏的背景色跟界面顶部(可简单理解为标题栏)的颜色保持一致。 最近发现越来越多的应用开始实现沉浸式状态栏。从视觉角度上看是挺好的。 本文会提及几种实现方式。 方式一:纯色状态栏 先上图吧。 下面看代码:public static void initStatusBarStyl

2016-07-29 15:50:23 504

原创 Log日志框架-对原生Log进行简单封装

闲来无事,对以前项目中使用的对Log的封装使用抽取出来,写成一个Demo供博友参考。 Demo是以Gradle构建的项目。其中涉及到打Release包跟Debug包的时候对于日志输出的控制,由gradle脚本进行控制,下文我再细说。 先看下日志的输出效果: 效果比较简洁,主要展示日志的具体来源及日志消息,并提供点击快速定位代码的功能。 下面直接看代码:package com.csf.si

2016-07-27 16:20:39 4465 2

转载 关于那些Android中不常用的设置属性

很多在manifest中的属性我们经常遗忘了它们,或者经常看到但又不是很明白它的作用。那么在这里我就拿了一些属性简单的解释一下,防止以后碰到却不知道其中的意思。不是很全,以后会断断续续的补充吧一、android:installLocation=’internalOnly’ android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:

2016-06-13 14:17:56 5030

云开发入门实战二 实现城市多级联动Demo-云工程源码

使用鸿蒙ArkTS Stage 模式 端云一体化模板开发的实现城市多级联动Demo 云工程项目代码,欢迎下载学习。通过该工程Demo以及相关文章学习,基本可以掌握云数据库、云函数的开发跟部署。 Demo工程仅供学习使用,切勿用于商业活动,违者后果自负。省市地区数据来源网络,提供学习使用,不保证数据准确性,切记!

2023-11-22

鸿蒙Web组件使用示例Demo

鸿蒙ArkTS API9 Stage模式 Web组件使用示例Demo

2023-10-16

Lame4AndroidDemo-As工程

详情查看 http://blog.csdn.net/q919233914/article/details/54616935

2017-01-19

Lame4Android源码和示例

详情请查看博客http://blog.csdn.net/q919233914/article/details/54603441

2017-01-18

lame-3.99.5(录音文件转码源码)

上传资源方便大家下载。MP3转换源码

2017-01-18

自定义下拉回弹View

自定义下拉回弹View-掌握View冲突处理,详情查看博主博客

2016-12-10

AIDL使用示例Demo

具体看博客讲解

2016-11-10

Log框架(一个类,对Log进行封装)

Demo是以Gradle构建的项目。其中涉及到打Release包跟Debug包的时候对于日志输出的控制,在debug的时候开启日志输出,release的时候关闭日志输出

2016-07-27

Android App调用没有安装的apk

该工程为android studio工程,包含两个module(一个主apk工程,一个插件apk工程),插件apk包无需安装即可被主apk调用使用。

2016-05-27

cocos2dx与java之间的相互调用

cocos2dx与java之间的相互调用。

2015-01-22

Android ViewPager多页面滑动切换以及动画效果

Android ViewPager多页面滑动切换以及动画效果

2014-07-16

Android版(三级联动)全国省市县下拉地址选择源码

Android版(三级联动)全国省市县下拉地址选择源码,提供给大家学习下。

2014-03-28

安卓开发框架ThinkAndroid

ThinkAndroid简介 ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具

2014-03-24

tabHost布局之一_不继承TabActivity并以布局文件进行布局

tabHost布局之一_不继承TabActivity并以布局文件进行布局

2013-09-23

PopupWin控件的使用说明

PopupWin控件的使用说明,通过这份文档能让你更了解PopupWin控件

2013-07-07

空空如也

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

TA关注的人

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