- 博客(516)
- 资源 (1)
- 收藏
- 关注
原创 Android NDK AS模拟main入口
新建studyCpp包,然后在CMakeLists.txt中引入studyCpp包下所有文件,如下:file(GLOB sourceFiles studyCpp/*.h studyCpp/*.cpp studyCpp/*.c)#file(GLOB sourceFiles logCpp/*.h logCpp/*.cpp logCpp/*.c)add_library( # Sets the ...
2020-03-23 11:40:16
315
原创 Mac下AndroidStduio安装NDK和使用
安装ndk和cmake:安装cmake插件:新建项目,选择Native C++在项目中引入ndk目录
2020-03-22 23:36:22
3913
原创 微信小程序授权组件
文章目录弹出层bottom-modal组件授权login组件新建login组件引入弹出层bottom-modal组件button的bindgetuserinfo属性用户授权使用授权login组件引入login组件使用login组件点击发布按钮操作清除授权数据微信小程序底部弹出层组件与slot插槽实现了底部弹出层效果,现在将底部弹出层应用于用户授权。具体的页面效果如下:弹出层bottom-...
2020-03-11 16:34:06
1569
1
原创 微信小程序底部弹出层组件与slot插槽
文章目录bottom-modal组件引入组件组件样式隔离控制弹出层显示和隐藏组件wxml的slot插槽参考:组件样式隔离组件wxml的slotbottom-modal组件bottom-modal.wxml<!--components/bottom-modal/bottom-modal.wxml--><view class="modal" hidden="{{!mo...
2020-03-11 11:21:23
2106
原创 微信小程序数据填充新闻详情页面
微信小程序带参的页面跳转微信小程序新闻详情页面效果实现上面已经实现了页面的跳转和详情页效果实现,接下来将数据填充到详情页面post-detail.js 中引入posts-data.js,posts-data.js中有所有数据信息。// pages/post/post-detail/post-detail.jsvar postsData = require('../../../data/...
2020-03-10 17:50:28
2635
原创 微信小程序带参的页面跳转
微信小程序构建新闻列表微信小程序template模板的使用微信小程序新闻详情页面效果实现在之前实现了新闻列表页和详情页的效果,接下来需要从列表页点击item跳转到详情页,并携带item的postId。post.wxml中添加onPostTap事件,并携带postId <view bindtap="onPostTap" data-postId="{{item.postId}}"&g...
2020-03-10 16:02:00
1046
原创 微信小程序新闻详情页面效果实现
<!--pages/post/post-detail/post-detail.wxml--><!--先静后动,先样式再数据--><view class="detail-container"> <image class="head-image" src="/images/post/vr.png"></image> <vi...
2020-03-10 14:49:58
8043
原创 微信小程序template模板的使用
文章目录新建模板移植代码到模板中引入模板使用模板参考: 模板WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。这里我们使用模板template改写微信小程序构建新闻列表中的示例代码新建模板新建post-item-template目录,并创建post-item-template.wxml和post-item-template.wxss文件移植代码到模...
2020-03-10 11:12:38
1550
原创 微信小程序的模块化
模块化模块化:可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。使用微信小程序构建新闻列表的代码来讲解模块化创建data目录,新建posts-data.js文件posts-data.js 代码如下:var local_database = [ { date: "Sep 18...
2020-03-09 23:54:21
1497
原创 微信小程序的事件机制
事件详解wx.redirectTo<view class="journey-container" bindtap="onTap"> <text class="journey">开启小程序之旅</text> </view>// pages/welcome/welcome.jsPage({ onTap: function (e...
2020-03-09 22:51:25
153
原创 微信小程序构建新闻列表
实现如下:<view> <swiper indicator-dots="true" autoplay="true" interval="2000"> <swiper-item> <image src="/images/wx.png"></image> </swiper-item> &...
2020-03-09 22:24:31
1668
原创 Android社交App开发之引导页
文章目录ViewPager歌曲跳过按钮要实现的效果如下:布局文件<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" ...
2020-03-09 16:13:00
773
原创 Android社交App开发之媒体播放工具类
package com.hongx.framework.manager;import android.content.res.AssetFileDescriptor;import android.media.MediaPlayer;import android.os.Handler;import android.os.Message;import com.hongx.framewo...
2020-03-09 14:37:57
244
原创 Android社交App开发之Log工具类
build.gradle中自定义Gradle常量android{... buildTypes { debug { //自定义Gradle常量 buildConfigField("boolean","LOG_DEBUG","true") ... } release { ...
2020-03-09 14:12:45
164
原创 Android社交App开发之启动页
启动页主要包括以下内容:把启动页全屏延迟进入主页根据具体逻辑是进入主页还是引导页还是登录页适配刘海屏启动页全屏延迟进入主页启动页后逻辑适配刘海屏参考:Android 刘海屏适配全攻略...
2020-03-09 13:21:03
509
原创 Android社交App开发之SharedPreferences工具类
package com.hongx.framework.utils;import android.content.Context;import android.content.SharedPreferences;import com.hongx.framework.BuildConfig;/** * FileName: SpUtils * SharedPreferences工具类...
2020-03-08 18:33:27
311
原创 Android Gradle本地化构建技巧
文章目录自定义Gradle配置文件config.gradle引入自定义Gradleapp的build.gradlebase的build.gradle配置Gradle常量提升Gradle构建速度的十大技巧禁止Multidex Apk构建最小化打包资源文件禁用png压缩png转换webp不使用动态版本标识Gradle内存分配调优开启Gradle构建缓存自定义Gradle配置文件config.gra...
2020-03-06 14:31:30
689
原创 微信小程序swiper
swiperswiper-item先看一段代码<swiper style="width:100%;height:500rpx"> <swiper-item style="background-color:#ff6900"> <image src="/images/wx.png" ></image> </swiper-it...
2020-03-05 21:53:56
353
原创 微信小程序欢迎页面效果实现
welcome.wxml<view class="container"> <image class="avatar" src="/images/avatar/1.png"></image> <text class="motto">Hello, 微信</text> <view class="journey-contai...
2020-03-05 15:45:11
3285
原创 微信小程序Storage缓存
Storage微信小程序歌曲列表页实现中实现了歌曲列表,因为歌曲列表中包含了歌曲信息,所以我们将歌曲列表数据保存在缓存中,这样在歌曲播放页就不需要重新请求数据,同时从播放页返回歌曲列表页也不需要重新请求数据。只需在请求云函数成功后调用以下方法即可全部代码如下:// pages/musiclist/musiclist.jsPage({ /** * 页面的初始数据 */...
2020-03-03 10:41:01
1385
原创 微信小程序歌曲列表页实现
文章目录页面跳转添加云函数路由musiclist自定义组件歌曲列表页面实现微信小程序组件化实现歌单效果微信小程序的上拉加载与下拉刷新微信小程序路由改造以上三篇文章实现了歌单页面,并对云函数进行了路由改造,接下来完成歌曲列表页。歌单效果:页面跳转点击歌单项,需要将歌单id传递给歌曲列表页,每个歌单项是通过自定义组件实现的,所以需要在歌单playlist组件中实现跳转和参数传递在pl...
2020-03-02 18:10:08
5305
原创 微信小程序路由改造
一个用户在一个云环境中只能创建50个云函数,我们可以在一个云函数中创建多个路由,从而可以减少云函数个数。微信小程序的上拉加载与下拉刷新文章中通过调用云函数实现了歌单的功能,现在通过路由tcb-router对其进行改造右键music云函数,点击在终端打开输入以下命令,安装tcb-routernpm install --save tcb-routermusic云函数的js文件修改如下...
2020-03-02 14:10:28
624
原创 微信小程序云函数路由优化tcb-router
TencentCloudBase/tcb-router一个用户在一个云环境中只能创建50个云函数相似的请求归类到同一个云函数处理tcb-router是一个koa风格的云函数路由库koa洋葱模型tcb-router:基于 koa 风格的小程序·云开发云函数轻量级类路由库,主要用于优化服务端函数处理逻辑云函数端使用新建tcbrouter云函数右键-在云端中打开npm in...
2020-03-02 11:07:49
3664
3
原创 微信小程序的上拉加载与下拉刷新
文章目录数据库get模板编写云函数调用云函数上拉加载和下拉刷新这里需要使用微信小程序组件化实现歌单效果中实现的歌单效果。通过调用云函数,从云数据库中请求需要的歌单数据。在我的云数据库中已经存在了一个名为playlist的集合,如下:数据库get模板从云数据库的playlist中获取15条数据db.collection('playlist') .skip(0) .limit(...
2020-03-01 20:36:20
2089
原创 微信小程序云函数和云数据库
数据库request-promiseRequest-Promisenpm install --save requestnpm install --save request-promise
2020-03-01 11:17:01
4069
4
原创 微信小程序async/await
async 函数小程序中使用async需要引入facebook的 runtime.js async foo() { console.log('foo') return 1 }, console.log(this.foo())结果:说明async是一个Promise对象。async/await使用:async foo() { console.l...
2020-02-28 19:14:24
554
原创 微信小程序Promise示例
文章目录PromisePromise.all()示例Promise.race()示例PromisePromise 对象Promise对象代表一个异步操作,有三种状态:pending(进行中)fulfilled(已成功)rejected(已失败)Promise.all()示例Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。...
2020-02-28 16:30:29
1917
原创 微信小程序wx:key使用
demo.wxml :<block wx:for="{{arr}}" wx:key="*this" wx:for-item="data" wx:for-index="idx"> <view> <checkbox/>{{data}}</view></block><button bind:tap="sort">随...
2020-02-28 15:07:42
3587
原创 微信小程序组件化实现歌单效果
需要实现的效果如下:我们将歌单的每一项作为一个组件。playlist组件新建components目录,并在其目录下新建playlist目录,然后右键 - 新建Component,输入playlist,自动为我们创建了playlist组件。playlist组件如下:playlist.wxml:<view class="playlist-container" bind:tap=...
2020-02-27 22:34:02
1843
1
原创 微信小程序云开发开通
文章目录云开发介绍云开发开通云开发云开发介绍开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。云开发提供了几大基础能力支持:云开发开通新建小程...
2020-02-27 17:30:34
2604
原创 微信小程序基础
文章目录1. ⼩程序配置⽂件1.1.全局配置app.json 1.1.1.tabbar1.2.⻚⾯配置page.json 1.3.sitemap配置-了解即可2.模板语法 2.1.数据绑定 2.2.运算2.3.列表渲染2.4.条件渲染3. 事件绑定1. ⼩程序配置⽂件⼀个⼩程序应⽤程序会包括最基本的两种配置⽂件。⼀种是全局的 app.json 和⻚⾯⾃⼰的 ...
2020-02-26 14:22:50
776
原创 微信⼩程序简介
文章目录1.微信⼩程序介绍1.1.为什么是微信⼩程序? 1.2.微信⼩程序历史 1.3.疯狂的微信⼩程序 1.4.还有其他的⼩程序不容忽视 1.5.体验 2.环境准备2.1.注册账号 2.2.获取APPID 2.3.开发⼯具 3.第⼀个微信⼩程序3.1.打开微信开发者⼯具 3.2.新建⼩程序项⽬3.3.填写项⽬信息4. 微信开发者⼯具介绍5. ⼩程序...
2020-02-24 15:40:27
753
原创 Java线程基础、线程之间的共享和协作
文章目录基础概念认识Java里的线程java的多线程无处不在新启线程的方式三种线程安全停止工作对Java里的线程再多一点点认识线程常用方法和线程的状态线程的优先级守护线程线程间的共享线程间协作等待和通知等待和通知的标准范式join()方法调用yield() 、sleep()、wait()、notify()等方法对锁有何影响?基础概念CPU核心数和线程数的关系核心数:线程数=1:1 ;使...
2020-02-24 10:14:42
626
原创 HTTP家族史
HTTP:建立在TCP协议之上的”超文本传输协议”(HyperText Transfer Protocol)HTTP /1.0:最早于1996年使用,只支持较为简单的网页和网络请求。HTTP /1.1:1999年广泛应用于网络请求,是当前使用最为广泛的HTTP协议。HTTPS:HTTP1.x在传输数据时,所有传输的内容都是明文,无法保证数据的安全性。网景在1994年创建了HTTPS,...
2020-02-18 20:30:50
562
原创 Android设计模式之工厂模式
文章目录简单工厂模式工厂方法模式简单工厂和工厂方法区别抽象工厂模式简单工厂模式简单工厂模式:提供创建对象的功能,不需要关心具体的实现。好处:降低客户端与模块之间的耦合度。Android源码中的使用场景:BitmapFactory.decodeResource()图:简单工厂模式类图public interface Api { void operator();}publi...
2020-02-14 19:55:57
231
原创 Android Glide图片缓存原理及手写实现
文章目录Glide的四层缓存第一层 活动资源第二层 内存缓存第三、四层 磁盘缓存Glide : https://github.com/bumptech/glide参考:https://www.jianshu.com/p/97fd67720b34ReferenceQueue的使用https://www.cnblogs.com/nullzx/p/7406151.htmlGlide的四层缓存...
2020-02-11 19:36:22
1656
原创 Android LruCache源码解析
参考:https://github.com/LittleFriendsGroup/AndroidSdkSourceAnalysis/blob/master/article/LruCache源码解析.md
2020-02-10 20:00:10
353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅