此App适用于SYBlog API,使用Kotlin编写,Android Studio编译,兼容Android 5.0及以上版本
下载体验:见发行版本
将最新版源代码下载到本地
使用Android Studio打开
修改以下几处:
文件:app/src/main/java/com/sylingd/blog/lib/Api.kt
//后台配置的API KEY,建议使用随机生成的字符串
private const val key = ""
//此处是请求UA,默认是获取系统信息,如果有特殊需求请修改此处
private val ua = System.getProperty("http.agent")
文件:app/src/main/java/com/sylingd/blog/lib/Config.kt
//修改为API地址,一般是http://域名/api/
const val apiUrl = "https://example.com/api/"
//修改为文章页面基本路径,一般是http://域名/archives/,大部分情况下,填写http://域名/也可以正常使用
const val baseUrl = "https://example/archives/"
//修改为能从URL中匹配出文章ID的正则表达式
private val articleRegex = Regex("""^https?://example\.com/archives/(\d+).html""")
//此函数用于判断一个URL是否为文章页面,一般不需要修改
fun isArticle(url: String): Boolean {
return articleRegex.matches(url)
}
//用于从文章URL中提取出ID,注意下面的$1可能需要修改
fun getArticleId(url: String): Int {
val r = articleRegex.find(url)!!.value
return articleRegex.replace(r, "$1").toInt()
}
//用于将文章ID拼接成完整URL
fun getArticleUrl(id: Int): String {
return "https://example.com/archives/$id.html"
}
文件:app/src/main/AndroidManifest.xml,将data部分修改为能匹配出文章ID的内容,例如:
<activity android:name=".activity.SchemeUrlActivity">
<intent-filter>
<data
android:host="blog.example.com"
android:pathPrefix="/archives"
android:scheme="https" />
其中,android:pathPrefix
表示匹配path前缀,您也可以使用android:pathPattern
编写正则表达式来进行匹配。android:scheme
则表示请求协议,一般为http或https
打开Android Studio的语言修改器,按需修改
编译、打包、发布
默认包名是com.sylingd.blog
,此包名用于Android系统区别不同应用,建议修改为域名倒写,例如域名是blog.example.org
,则建议修改为org.example.blog
需要修改的细节如下:
app/src/main/AndroidManifest.xml第三行出package="com.sylingd.blog"
所有app/src目录(含子目录)下的*.kt
文件中的com.sylingd.blog
(可使用Notepad++等工具批量替换)
app/src/main/java/com/sylingd/blog目录需要重命名,例如重命名为app/src/main/java/org/example/blog
Android Studio中,右键点击左侧的“res”,选择New - Image Asset,按向导修改图标
本App不保证API KEY不会泄露,请各位注意,打包后的Android程序可以很轻松的被反编译。建议使用阿里聚安全、腾讯乐固等第三方加固工具,加大反编译难度
修改本程序可能需要您有一定的Android编程知识。作者不保证会解答问题
除第三方组件外,本程序开源协议为:Apache License 2.0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。