- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 【开源鸿蒙跨平台开发学习笔记】Day10:React Native 开发 OpenHarmony —— 渲染README文档
本文介绍了在ReactNative开发HarmonyOS应用时,实现GitCode仓库README.md文档渲染的完整方案。通过封装API接口获取Base64编码内容并解码,构建轻量级Markdown解析器,将Markdown转换为ReactNative原生UI组件。重点解决了HarmonyOS环境下缺少现成Markdown库的适配问题,实现了标题、段落、列表、代码块等基础语法渲染。文章详细阐述了从接口定义、内容请求、Base64解码到自定义Markdown组件的开发过程,最终实现了在仓库页面下半区域流畅展
2025-12-04 16:55:26
750
原创 【开源鸿蒙跨平台开发学习笔记】Day09:React Native 开发 OpenHarmony —— 仓库列表组件封装
本文记录了基于ReactNative开发HarmonyOS的GitCode工具App实战过程,重点完成首页仓库列表和探索页仓库目录功能。主要内容包括:统一网络请求层封装(axios+token注入)、RepoItem组件开发、首页并发数据加载优化、仓库Tree展示、自定义TabBar实现,以及HarmonyOS调试和离线包构建的实践经验。文章详细介绍了项目架构设计、关键代码实现和典型问题解决方案,为ReactNative在HarmonyOS平台的开发提供了工程化实践参考。
2025-12-03 21:32:09
647
原创 【开源鸿蒙跨平台开发学习笔记】Day08:React Native 开发 OpenHarmony —— RN 与原生调用全解析
本文介绍了ReactNative在OpenHarmony平台上的原生通信实现方法。主要内容包括:1)RN新架构的通信原理,包含TurboModule和JSI桥接层;2)JS调用原生能力的TurboModule实现流程;3)原生向JS通信的三种方式:DeviceEventEmitter全局事件、emitComponentEvent组件事件和callRNFunction主动调用JS方法;4)通过具体示例演示了原生组件向JS发送点击事件的完整实现。文章系统阐述了OpenHarmony平台上RN框架的双向通信机制,
2025-12-03 09:50:56
770
原创 【开源鸿蒙跨平台开发学习笔记】Day07:React Native 开发 HarmonyOS-GitCode口袋工具开发-3
本文详细介绍了基于ReactNative和HarmonyOS开发GitCode口袋工具的过程。文章重点阐述了网络层封装(使用Axios拦截器处理Token注入和错误统一)、RepoItem仓库卡片组件设计、首页FlatList高性能渲染等关键技术实现。项目采用ReactNative0.72与@react-native-oh/react-native-harmony环境,完整覆盖了从开发调试到离线包打包的全流程。通过统一网络请求管理、组件化开发和列表优化,实现了GitCode用户信息和Star仓库列表的展示功
2025-12-02 21:43:59
789
原创 【开源鸿蒙跨平台开发学习笔记】Day06:React Native 在 OpenHarmony 开发中的自定义组件开发
本文介绍了在OpenHarmony环境下使用ReactNative开发GitCode口袋工具APP的过程,重点讲解了如何封装一个GitCode仓库列表Item组件。文章首先概述了ReactNative的基础能力,包括Components组件、JSX语法、props和state等核心概念。然后详细展示了RepoItem组件的设计与实现,包括属性定义、组件结构、样式设置以及在列表中的使用方法。该组件支持显示仓库Logo、名称、Star按钮、描述、语言类型、收藏数、提交数等信息,为后续实现动态数据获取和UI美化奠
2025-12-01 15:16:50
742
原创 【开源鸿蒙跨平台开发学习笔记】Day05:React Native 在 HarmonyOS 开发中的热更新与调试实践
本文介绍了在ReactNative开发HarmonyOS应用时如何实现代码热更新和调试功能。重点讲解了配置Metro服务的方法,包括三种连接真机的方式(USB转发、局域网直连、手动指定),以及如何使用DevMenu、Element Inspector、React DevTools等调试工具。文章还提到RNOH在HarmonyOS上保留了原生RN的大部分调试能力,如Flipper断点调试和LogBox错误捕获,使开发体验接近Android/iOS平台。通过这些配置,开发者可以像开发传统RN应用一样享受完整的热
2025-11-27 21:45:10
892
原创 【开源鸿蒙跨平台开发学习笔记】Day04:React Native 开发 HarmonyOS-GitCode口袋工具开发-2
本文介绍了使用ReactNative开发HarmonyOS应用时对接GitCode API的过程。重点包括:1)封装axios请求,统一处理认证令牌和错误信息;2)实现获取用户Star仓库列表的接口;3)在首页展示用户信息和Star仓库列表。通过代码示例详细说明了网络请求封装、接口调用和UI展示的实现方法,为后续开发打下了基础。
2025-11-25 21:14:58
412
原创 【开源鸿蒙跨平台开发学习笔记】Day03:React Native 开发 HarmonyOS-GitCode口袋工具开发-1
摘要:本文记录了使用ReactNative开发HarmonyOS应用对接GitCode API的过程。重点介绍了Axios网络请求库的优势、项目目录结构搭建、API调用实现以及用户信息展示页面开发。通过创建axios请求封装、编写用户信息获取逻辑和构建展示界面,成功实现了GitCode用户数据在移动端的呈现。文章还分享了开发过程中遇到的端口映射问题及解决方案,为后续功能优化奠定了基础。
2025-11-24 15:11:45
977
原创 【开源鸿蒙跨平台开发学习笔记】Day02:React Native 开发 HarmonyOS-环境搭建篇(填坑记录)
本文详细记录了ReactNative开发HarmonyOS环境搭建过程中的关键问题和解决方案。主要包括:1) 必须使用ReactNative 0.72.5版本创建工程;2) react-native-harmony版本选择需与OpenHarmony SDK版本匹配;3) MacOS下需修改CMakeLists文件路径配置,使用绝对路径解决依赖库查找问题。作者分享了具体配置方法和版本匹配技巧,帮助开发者避免常见陷阱。这些经验总结对准备使用ReactNative开发HarmonyOS应用的开发者具有重要参考价值
2025-11-23 15:54:33
690
原创 【开源鸿蒙跨平台开发学习笔记】Day01:React Native 开发 HarmonyOS-环境搭建篇
React Native 开发 HarmonyOS
2025-11-22 22:47:02
948
原创 腾讯云AI代码助手编程挑战赛-古诗词上下句
古诗词中的上下句结构是古典诗词形式的重要特征之一,它不仅塑造了诗词的节奏感和韵律美,也在内容的表达上起到了承上启下、层层递进的作用。本应用主要就是利用AI代码助手编写了一个古诗词上下句应用。
2025-01-10 10:52:01
361
原创 Android上实现WebView控件的完整截图
最近总能看到好多APP都支持文章和网页的长截图,出于好奇研究了一下,分享给大家。 网上有好多的例子,其中好多都是已经过时的就不在复述了,我发现有一种还是比较通用的方法。//android 5.0 之后需要开启浏览器的整体缓存才能截取整个Webif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { WebView.enabl
2017-12-28 17:15:34
2347
3
原创 EventBus 3.0 从入门到精通——EventBus 3.0 是如何应用注解的?
文章索引: EventBus 3.0 从入门到精通——初识EventBus EventBus 3.0 从入门到精通——EventBus的应用场景 EventBus 3.0 从入门到精通——使用详解(一) EventBus 3.0 从入门到精通——使用详解(二)接下来我们从技术层面拆解EventBus,首先EventBus3.0与之前最大的不同就是可以使用注解,也就是@Subscribe
2017-09-13 16:29:22
1715
翻译 EventBus 3.0 从入门到精通——使用详解(二)
文章索引: EventBus 3.0 从入门到精通——初识EventBus EventBus 3.0 从入门到精通——EventBus的应用场景 EventBus 3.0 从入门到精通——使用详解(一)本文参考EventBus官网,有兴趣的朋友可以直接上官网阅读:http://greenrobot.org/eventbus/documentation/黏性事件如果在事件发布之
2017-08-01 10:22:24
775
翻译 EventBus 3.0 从入门到精通——使用详解(一)
文章索引: EventBus 3.0 从入门到精通——初识EventBus EventBus 3.0 从入门到精通——EventBus的应用场景本文参考EventBus官网,有兴趣的朋友可以直接上官网阅读:http://greenrobot.org/eventbus/documentation/EventBus 3.0 三步走在开始使用EventBus3.0之前,必须先引入EventBus3.0
2017-07-13 17:43:02
978
原创 EventBus 3.0 从入门到精通——EventBus的应用场景
文章索引: EventBus 3.0 从入门到精通——初识EventBus通过上一篇文章我们对EventBus有了一个简单的了解,这篇我们继续学习一下EventBus的使用。
2017-07-11 11:45:54
947
原创 RelativeLayout 在SDK 16(Android4.0)上 android:gravity="left" 属性失效解决
今天遇到一个很奇怪的问题,解决了很久,分享出来,希望能帮助大家少走弯路。O(∩_∩)O哈哈~ 事情是这样的,我需要实现一个类似这样的功能:两个文字在一行,并且黄色的文字要在紫色的右边,而且在文字过长需要省略的时候,优先省略紫色文字。 类似这样:我是这样实现的,代码很简单如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:an
2017-07-06 15:12:54
677
原创 Android多渠道编译-依赖的渠道控制
最近在开发一款android的SDK,其中有一个需求很有意思,需要在不同版本的SDK上引用不同Library依赖。之前还真没有遇到过,查阅了很多资料搞定了,在这里记录下来,分享给大家。~~
2017-07-05 09:58:06
3912
原创 EventBus 3.0 从入门到精通——初识EventBus
最近接手了一个项目,发现项目中有使用EventBus,因为之前只是泛泛的了解,没有深入学习过,所以借着这次机会就往深了了解一下,分享出来与大家共勉。先看看GitHub上的介绍吧。EventBusGitHub地址EventBus简介eventbus是一个针对Android优化的发布/订阅事件总线。 EventBus的特点:简化组件之间的通信 事件的发送者和接收者解耦对于Activiti
2017-06-28 17:46:57
605
原创 Android发布AAR包
最近有需求要发布一套SDK,这套SDK有几个要求:带有Activity和Fragment;有网络请求模块;有依赖jar包; 依照上面的要求我最先想到的就是AAR包了,因为以下几个原因: 1. aar包可以包含资源文件和布局文件,这样就可以在SDK中包含Activity了; 2. aar包会包含libs目录下的jar包;1、怎样打包成AAR?打包aar其实很简单,只需要我们创建一个L
2017-05-26 10:41:23
2484
原创 为什么requestWindowFeature()方法要在setContentView()方法之前调用?
日常开发中偶尔遇到需要修改标题栏样式的情况,这个时候就需要用到requestWindowFeature(int featureId)来设置窗口样式。 featureId有如下几种值: 1. DEFAULT_FEATURES:系统默认状态,一般不需要指定 2. FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
2017-05-04 14:47:52
1383
原创 Windows下如何查看某个端口被谁占用
开发时经常遇到端口被占用的情况,这个时候总是很令人抓狂,知道被哪个进程占用还好,结束就是了,要是不知道我们该怎么办呢? 我告诉大家一个方法,^_^。 1、 开始—->运行—->cmd,或者是window+R组合键,调出命令窗口; 2、输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是1224,首先找到它; 3、查看被占用端口对应的PID,输入命令
2017-03-27 21:39:39
111567
4
原创 Retrofit2学习笔记-1
什么是Retrofit2 Retrofit是一个给Android和Java用的类型安全的HTTP客户端,它将网络请求封装成接口,并采用注解的形式声明请求,由Retrofit自动生成接口实现对象给开发者调用。 Retofit2的入门 1. 引用Retrofit2 Gradle引用 compile 'com.squareup.retrofit2:retrofit:2.1.0' Maven引用
2017-03-16 12:00:25
416
原创 怎样动态更换APP图标
遇到一个以前不知道的东西,activity-alias所以记录一下。 我们可以通过activity-alias来实现动态修改APP图标的功能。 首先,需要在AndroidManifest.xml文件中声明activity-alias,方法如下:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schema
2017-03-15 16:42:36
2417
原创 面向对象-六大原则
一、单一原则 单一原则的定义:就一个类而言,应该仅有一个引起它变化的原因。简而言之就是一个类中应该是一组相关性很高的函数、数据的封装。 举一个简单的例子,登入功能。一般登入需要包括几个基本的功能: 1. 登入页面; 2. 接受用户输入; 3. 提交用户输入数据到服务端验证; 4. 返回验证结果并提示给用户; 按照单一原则我们就可以将登入功能拆分成两个类,登入页类和网络请求类。
2017-03-15 16:37:08
370
原创 处理ListView为空的情况
在移动开发中经常会使用到列表显示,对于列表显示我们经常使用的就是ListView控件。在显示列表的时候通常有两种情况:一、列表是满的;二、列表是空的。在没有数据的时候我们应该怎么处理呢?有一个简单的方法可以解决问题,我们来看一下。ListView和其他继承自AdapterView的类可以使用setEmptyView(View view)方法设置空状态下的显示。当绘制AdapterView的适配器
2015-07-02 11:09:52
5532
转载 正确使用Android性能分析工具——TraceView
前面唠叨最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…以前我用StopWatch类来分析性能,现在觉得弱爆了…不过有些地方StopWatch工具类还是很简单好用的~网上可以找了很多博客来介绍这个工具
2015-05-20 15:33:00
544
转载 Gradle入门系列(4):创建二进制发布版本
在创建了一个实用的应用程序之后,我们可能想将其与他人分享。其中一种方式就是创建一个可以从网站上下载的二进制文件。这篇教程描述了如何创建一个二进制发布版本,满足以下需求:二进制发布一定不能使用所谓的“fat jar”方式。换句话说,我们应用程序中的所有依赖一定不能被打包到该程序相同的jar包中。二进制发布必须包含针对*nix和Windows操作系统的启动副本。二进制发布的根目录必须包含许
2015-05-20 15:31:16
1463
转载 Gradle入门系列(5):创建多项目构建
尽管我们可以仅使用单个组件来创建可工作的应用程序,但有时候更广泛的做法是将应用程序划分为多个更小的模块。由于这是一个非常普通的案例,因此每个成熟的构建工具都必须支持这项功能,Gradle也不例外。倘若Gradle项目拥有多于一个组件,我们就将其称之为多项目构建(multi-project build)。这篇教程描述了如何使用Gradle创建一个多项目构建。我们先来看一看Gradle构建
2015-05-20 15:31:13
5033
转载 Gradle入门系列(3):依赖管理
在现实生活中,要创造一个没有任何外部依赖的应用程序并非不可能,但也是极具挑战的。这也是为什么依赖管理对于每个软件项目都是至关重要的一部分。这篇教程主要讲述如何使用Gradle管理我们项目的依赖,我们会学习配置应用仓库以及所需的依赖,我们也会理论联系实际,实现一个简单的演示程序。让我们开始吧。仓库管理简介本质上说,仓库是一种存放依赖的容器,每一个项目都具备一个或多个仓库。Grad
2015-05-20 15:30:41
10599
1
转载 Gradle入门系列(2):第一个Java项目
这篇教程的主要内容是讲解如何用Gradle编译和打包一个简单的Java项目。该Java项目只有一个需求:我们的构建脚本必须创建一个可执行的Jar文件,换句话说,我们必须能够使用命令java -jar jarfile.jar 来运行我们的程序。我们来看一下如何满足这个需求。创建一个Java项目我们可以使用Java插件(译注:关于Gradle插件的定义,请查看第一篇教程)来创建一个Ja
2015-05-19 14:31:24
6898
转载 Gradle入门系列(1):简介
Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言。近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因。这篇文章是Gradle教程的第一篇,我们有两个目标:1. 帮助我们学会安装Gradle。2. 介绍一些基本概念,这有助于我们进一步理解本教程的后面章节。我们开始吧,先看一下如何安装Gradle。
2015-05-19 14:28:52
5662
转载 android 倒计时实现
今天需要做一个发送验证码后的倒计时重发验证码的控件,查阅了一下资料发现android系统自带了一个很好用的工具类,记录一下哈~~~~ /** * 倒计时内部类 * * @author qiaomu * */ class TimeCount extends CountDownTimer { public TimeCount(long millisInFuture,
2015-05-17 21:39:02
762
转载 android优化之布局优化-Merge标签的使用
单独将标签做个介绍,是因为它在优化UI结构时起到很重要的作用。目的是通过删减多余或者额外的层级,从而优化整个Android Layout的结构。核心功能就是减少冗余的层次从而达到优化UI的目的!将通过一个例子来了解这个标签实际所产生的作用,这样可以更直观的了解的用法。建立一个简单的Layout,其中包含两个Views元素:ImageView和TextView 默认状态下我们将这两个元素放在
2015-04-15 18:20:28
726
转载 Android Volley完全解析(一),初识Volley的基本用法
1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpCl
2014-12-09 10:38:33
625
原创 redis学习笔记01
上一章我学习了如何在ubuntu上安装redis,下面我开始学习如何启动、停止redis和一些redis的入门知识。启动redis启动redis有两种方法:直接使用redis-server 命令使用redis-server的命令启动redis十分简单,并且可以再redis-server 的后面加上启动参数,例如:redis-server --port6380
2014-12-04 10:24:05
553
原创 ubuntu 12.04 安装 Redis 2.8
ubuntu 12.04 安装 Redis 2.8 准备系统的学习一下Redis,但是安装Redis着实让我费了很大的劲。在这里记录下来以备日后用到。首先,Redis最好实在Linux或者OS X系统中安装,Redis官方并不支持Windows虽然有一些办法可以再Windows上编译Redis,但是并不推荐。我使用的是ubuntu 12.04一个相对稳定的ubuntu版本。开始安装
2014-12-02 10:50:25
1893
转载 Spring获取Web应用根目录的方法
Spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能。比如某些第三方工具支持通过 ${key} 的方式引用系统参数(即可以通过 System.getProperty() 获取的属性),WebAppRootListener 可以将 Web 应用根目录添加到系统参数中,对应的属性名可以通过
2014-12-01 10:08:42
1355
原创 java中的数组初始化
Java中的数组初始化数组的初始化可以分为两种:静态初始化动态初始化静态初始化: 例:String[] str = new String[]{"A","B","C"};String str[] = new String[]{"A","B","C"};String str = {"A","B","C"};动态初始化: 例:String
2014-02-07 16:38:16
737
夏昕 ibatis 开发指南
2010-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅