新聞中心
Kotlin 是一種以 JVM 為目標平臺的編程語言。它被廣泛應用于 Android 應用程序開發(fā)中,主要因為其簡潔、直觀的語法、高效的編譯速度和良好的互操作性。在 Android 應用開發(fā)中,數(shù)據(jù)庫是一個非常重要的組件,Kotlin 提供了許多強大的工具,幫助開發(fā)者使用和查詢數(shù)據(jù)庫。

創(chuàng)新互聯(lián)擁有十余年成都網(wǎng)站建設工作經(jīng)驗,為各大企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設計服務,對于網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、重慶APP開發(fā)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名注冊等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設項目的能力。
在本文中,我們將看看 Kotlin 如何使用查詢數(shù)據(jù)庫,并提供一些技巧和更佳實踐,確保能夠構(gòu)建出快速、高效、易于維護的 Android 應用。
Kotlin 對數(shù)據(jù)庫的支持
Kotlin 對數(shù)據(jù)庫的支持主要通過 JDBC 實現(xiàn)。JDBC 是一種 Java 數(shù)據(jù)庫連接 API,它允許 Java 應用程序使用 SQL 查詢和更新關(guān)系型數(shù)據(jù)庫。Kotlin 增加了許多功能來簡化 JDBC,并使其更符合 Kotlin 編程風格。
為了使用 JDBC,需要添加 JDBC 驅(qū)動程序到項目中。大多數(shù)關(guān)系型數(shù)據(jù)庫都有自己的 JDBC 驅(qū)動程序,可以從官方網(wǎng)站上下載。一旦添加了驅(qū)動程序,可以使用 Kotlin 中的標準 JDBC API 來連接、查詢和更新數(shù)據(jù)庫。
使用 Kotlin 連接數(shù)據(jù)庫
連接數(shù)據(jù)庫是使用 Kotlin 進行數(shù)據(jù)庫查詢的之一步。JDBC 允許使用 JDBC 驅(qū)動程序來連接不同類型的數(shù)據(jù)庫。以下是使用 Kotlin 編寫的連接 MySQL 數(shù)據(jù)庫的示例代碼:
“`
import java.sql.DriverManager
fun mn(args: Array) {
val dbUrl = “jdbc:mysql://localhost/testdb”
val dbUser = “root”
val dbPassword = “password”
// 創(chuàng)建連接
val conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword)
// 執(zhí)行查詢等操作
// …
// 關(guān)閉連接
conn.close()
}
“`
上述示例代碼中,我們調(diào)用了 `DriverManager.getConnection()` 函數(shù)來連接數(shù)據(jù)庫。該函數(shù)接受三個參數(shù):數(shù)據(jù)庫 URL、用戶名和密碼。一旦連接成功,我們可以使用 `conn` 對象來執(zhí)行查詢等操作。
執(zhí)行查詢操作
要執(zhí)行 SQL 查詢操作,可以使用 `conn.createStatement()` 函數(shù)創(chuàng)建一個 `Statement` 對象。 `Statement` 對象是與數(shù)據(jù)庫交互的主要方式,它允許執(zhí)行 SQL 查詢和更新語句。以下是一個示例查詢表的代碼:
“`
import java.sql.DriverManager
fun mn(args: Array) {
val dbUrl = “jdbc:mysql://localhost/testdb”
val dbUser = “root”
val dbPassword = “password”
// 連接數(shù)據(jù)庫
val conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword)
// 查詢表
val stmt = conn.createStatement()
val rs = stmt.executeQuery(“SELECT * FROM users”)
// 處理查詢結(jié)果
while (rs.next()) {
val id = rs.getInt(“id”)
val name = rs.getString(“name”)
val age = rs.getInt(“age”)
println(“User: id=$id, name=$name, age=$age”)
}
// 關(guān)閉連接
rs.close()
stmt.close()
conn.close()
}
“`
上述代碼中,我們使用 `conn.createStatement()` 創(chuàng)建一個 `Statement` 對象,并使用 `stmt.executeQuery()` 執(zhí)行 SQL 查詢語句。 `executeQuery()` 函數(shù)返回一個 `ResultSet` 對象,其中包含查詢結(jié)果的數(shù)據(jù)行。我們可以使用 `rs.next()` 函數(shù)遍歷結(jié)果集,并使用 `rs.getInt()` 和 `rs.getString()` 函數(shù)獲取數(shù)據(jù)行中的每個列的值。
更新數(shù)據(jù)庫
要更新數(shù)據(jù)庫,可以使用 `executeUpdate()` 函數(shù)執(zhí)行 SQL 更新語句,該函數(shù)返回更新的行數(shù)。以下是一個將新用戶插入到 `users` 表中的示例代碼:
“`
import java.sql.DriverManager
fun mn(args: Array) {
val dbUrl = “jdbc:mysql://localhost/testdb”
val dbUser = “root”
val dbPassword = “password”
// 連接數(shù)據(jù)庫
val conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword)
// 插入新用戶
val stmt = conn.createStatement()
val rowsAffected = stmt.executeUpdate(“INSERT INTO users(name, age) VALUES(‘Tom’, 25)”)
// 處理查詢結(jié)果
if (rowsAffected > 0) {
println(“New user was inserted successfully.”)
} else {
println(“Fled to insert new user.”)
}
// 關(guān)閉連接
stmt.close()
conn.close()
}
“`
在上述代碼中,我們使用 `stmt.executeUpdate()` 執(zhí)行 INSERT 語句,將新用戶插入到 `users` 表中。我們使用更新影響的行數(shù)來檢查更新是否成功。
使用標準庫來查詢數(shù)據(jù)庫
Kotlin 標準庫提供了許多函數(shù)來處理、流和序列,它們可以輕松地應用于從數(shù)據(jù)庫中選擇數(shù)據(jù)的常見任務。可以使用 `use` 函數(shù)來自動關(guān)閉資源,從而減少了冗余的模板代碼。以下是一個示例代碼,查詢年齡在 30 歲以上的用戶數(shù)據(jù):
“`
import java.sql.DriverManager
fun mn(args: Array) {
val dbUrl = “jdbc:mysql://localhost/testdb”
val dbUser = “root”
val dbPassword = “password”
// 連接數(shù)據(jù)庫
DriverManager.getConnection(dbUrl, dbUser, dbPassword).use { conn ->
// 提取年齡在 30 歲以上的用戶數(shù)據(jù)
val users = conn.createStatement().use { stmt ->
stmt.executeQuery(“SELECT * FROM users WHERE age > 30”).use { rs ->
generateSequence {
if (rs.next()) rs else null
}.map {
// 將結(jié)果轉(zhuǎn)換為 User 對象
User(
id = it.getInt(“id”),
name = it.getString(“name”),
age = it.getInt(“age”)
)
}.toList()
}
}
// 處理得到的用戶數(shù)據(jù)
for (user in users) {
println(“User: id=${user.id}, name=${user.name}, age=${user.age}”)
}
}
}
// 用戶數(shù)據(jù)類
data class User(val id: Int, val name: String, val age: Int)
“`
在上述代碼中,我們使用了 `use` 函數(shù)來自動釋放創(chuàng)建的資源。我們使用 `generateSequence()` 函數(shù)遍歷 `ResultSet` 對象中的所有行,并將它們使用 `map()` 函數(shù)轉(zhuǎn)換為 `User` 數(shù)據(jù)類。 `toList()` 函數(shù)將生成的序列轉(zhuǎn)換為用戶列表。
結(jié)論
相關(guān)問題拓展閱讀:
- Java都需要那些技術(shù)?
- 一個完整的App開發(fā)需要哪些技術(shù)
Java都需要那些技術(shù)?
Java工程師需要學習的技術(shù)還是比較多的。
尤其是現(xiàn)在技術(shù)更新迭代比較快,需要不斷學習掌握新的技術(shù),給自身鍍金才燃扮能在IT行業(yè)發(fā)展的較好。
下面列舉出來一些需要掌握的技術(shù):
1、理解Java面向?qū)ο笏枷?/p>
2、掌握開發(fā)中常用基礎(chǔ)API
3、熟練使用框架、IO流、異常
4、能夠基于JDK8開發(fā)
5、掌握流行關(guān)系型數(shù)據(jù)MySQL常見操作
6、熟練增刪改查數(shù)據(jù)處理
7、掌握Java JDBC、連接池操作
8、掌握基本的JavaWeb基礎(chǔ)知識P/Servlet/Vue等
9、具備基本的B/S結(jié)構(gòu)軟件開發(fā)能力
10、可以動手開襪段賣發(fā)一個B/S架構(gòu)的Web項目
11、掌握S框架技術(shù)
12、掌告逗握使用Maven進行模塊的開發(fā)
13、熟悉基本的Linux命令以及Linux服務器的使用
14、掌握高級緩存技術(shù)Redis的原理,并熟練使用
15、掌握Git、Nginx、Docker、Elasticsearch、SpringBoot、SpringCloud、RabbitMQ、分布式事務、JVM、JUC、Zookeeper、Dubbo、Nacos等技術(shù)
16、企業(yè)級開發(fā)項目
雖然需要學習掌握的技術(shù)比較多,但是堅信“只要功夫深鐵杵磨成針”,加油!
之一部分:Java核心基礎(chǔ)
課程內(nèi)容
Java入門語法
流程控制結(jié)構(gòu)
面向?qū)ο蠛诵?/p>
異常體系
與泛型
反射體系
線程機制
IO流
網(wǎng)絡編程
設計模式
JDK8-15新特性
綜合項目:EMS管理系統(tǒng)/客戶管理系統(tǒng)/考試管理系統(tǒng)/銀行管理系統(tǒng)
第二部分:數(shù)據(jù)庫關(guān)鍵技術(shù)
DB、DBMS、SQL的理解
常見數(shù)據(jù)庫關(guān)系系統(tǒng)的對比和認識
DML、DQL、DCL、DDL
數(shù)據(jù)的增刪改查
數(shù)據(jù)庫和表的管理
DQL數(shù)據(jù)查詢語言
分組查詢、子查敬團詢、join查詢、union查詢等
常見函數(shù)
存儲亮敬橘過程和視圖
事務以及事務的隔離級別
觸發(fā)器
索引和優(yōu)化
貫穿案例:Employees員工管理系統(tǒng)
第三部分:WEB網(wǎng)頁技術(shù)
HTML與CSS與JavaScript
XML與Tomcat
HTTP協(xié)議與Servlet
Thymeleaf
會話控制
Vue.js
Ajax
Filter
Listener:ServletContextListener
貫穿項目:書城
第四部分:開發(fā)必備框架&技術(shù)
Spring
SpringMVC
MyBatis
S整合
Maven
Linux
Redis6
S整合案例
第稿缺五部分:Java提上課
Git與GitHub
MySQL高級
Mycat
Nginx
Docker
Elasticsearch7
RabbitMQ
SpringBoot
SpringCloud
JVM/GC
JUC
Zookeeper
Dubbo
第六部分:前沿技術(shù)&大型企業(yè)級項目
在線預約掛號平臺:尚醫(yī)通
Spring全家桶項目:尚籌網(wǎng)
大型金融項目:尚融寶
分布式項目:美年旅游
前后端分離項目:尚課吧
微服務架構(gòu)項目:尚品匯
第七部分:大廠必備面試題目
學習Java開發(fā)主要需要學習四個方面的內(nèi)容,分別為:Java基礎(chǔ)、JavaWeb開發(fā)、Java高級框改好架、大型微服務分布式項目。
之一部分:Java基礎(chǔ)
主要禪殲空涉及:Java基礎(chǔ)語法、面向?qū)ο?、核心類庫、、異常、IO、線程、JDK新特性等知識點。
第二部分:JavaWeb開發(fā)
主要涉及:前端技術(shù)、數(shù)據(jù)庫、JAVA數(shù)據(jù)庫操作、軟件服務器及服務器相關(guān)技術(shù)、P、AJAX等知識點。
第三部分:Java高級框架
主要涉及:SpringMVC、MyBatis、Spring、MySQL高級賀瞎、Linux&Redis&Nginx、Maven等知識點。
第四部分:大型微服務分布式技術(shù)
主要涉及:SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、Angular、SpringSecurity、BCrypt加密、FastDFS、分布式事務處理、RedisCluster、Solr、SolrCloud、Freemarker、JMS、短信發(fā)送平臺、SSO解決方案、CORS、Twitter的Snowflake、SpringTask、MavenProfile、MongoDB簡介、MyCat、Docker、Jenkins等知識點。
掌握以上知識差不多就可以成為一名初級Java工程師,在工作中不斷地提升自己,慢慢就會適應職場成為一名名副其實的Java程序員。
作者|CSDN博主「Hollis在csdn」內(nèi)容|轉(zhuǎn)自CSDN博客對于Java開發(fā)人員來說,最近幾年的時間中,Java生態(tài)誕生了很多東西。每6個月更新一次Java版本,以及發(fā)布很多流行的框架,如Spring 5、Spring Security 5和
Spring Boot
2等,這些都給我們帶來了很大的挑戰(zhàn)。在2023年初,我認為Java 10還是比較新的,但是,在我學習完所有Java 10的特性之前,Java 11、Java 12、Java 12 已經(jīng)接踵而至,對于工作繁忙的程序員們來說,大多數(shù)人都根本沒有時間看這些?;臼嵌际橇私庖恍┯杏玫男绿匦远?。Java的版本迭代速度實在是太快了,也帶來了很多有趣的特性,如本地變量類型推斷、switch表達式、文本塊支持等。我在Java 9 ← 2023,2023 Java → 13 ,都發(fā)生了什么?中記錄了這些變化。Java系之一大框架,Spring亦是如此,很多人的項梁轎鉛目還在用Spring Security 3.1 ,甚至不知道Spring 4.0和Spring Security 4.0都有哪些特性。但是,Spring和Spring Security都已經(jīng)出到了5.0版本。以下是我列出的2023年Java開發(fā)者應該學習的技術(shù):1、DevOps (Docker and Jenkins)過去的一年,越來越多的公司正在轉(zhuǎn)型DevOps,DevOps非常龐大,需要學習很多工具和原理,但你不需要擔心。有大神已經(jīng)分享了DevOps路線圖(
),可以按照這個路線圖以自己的速度學習和掌握DevOps。如果你是一個有經(jīng)驗的Java程序員,愿意學習環(huán)境管理、自動化和整體改進,你也可以成為DevOps工程師。2、Java 9 – Java 15相信現(xiàn)在很多Java開發(fā)人員主要使用的Java版本還是以Java 8為主,雖然Java 9 – Java 13已經(jīng)推出了有一段時間。但是作為Java程序員,我們可能因為某些原因沒辦法在線上環(huán)境真正的進行JDK的升級,但是花一些時間學習Java 9、Java 10、Java 11、Java 12和 Java 13的新特性還是有必要的。另外,大家可以重點關(guān)注一些關(guān)鍵特性,如GC相關(guān)的特性、對編碼風格有改變的特性等。還有就是Java的LTS版本(Java 8、Java 11)要重點學習。還要提醒大家一點,在2023年,Oracle還會推出Java 14 和 Java 15?。。∪绻阍谑褂肑ava 7的話,馬上就要被”套圈”了!3、Spring Framework 52023年我們見證了Spring和Java
生態(tài)系統(tǒng)
的許多重大升級,Spring 5.0就是其中之一。 Spring 5 的新反應式編程模型、HTTP/2 支持,以及 Spring 通過 Kotlin 對函數(shù)式編程的全面支持這些都值得我們好好了解一下。4、Spring Security 5.0Spring Security 5.0 提供了許多新功能,并支持 Spring Framework 5.0,總共有 400 多個增強功能和 bug 修復。在Spring Security 5.0.0之前,密碼是明文保存,十分不安全。因為這一次發(fā)布的是大版本,所以我們決定使用更安全的密碼存儲方式。 Spring Security 5.0.0的主要亮點在于它只需要最小化的JDK 8、反應式安全特性、OAuth 2.0(OIDC)和現(xiàn)代密碼存儲。5、Spring Boot 2Spring Boot 2.0 基于 Spring 5 Framework ,提供了 異步非阻塞 IO 的響應式 Stream 、非堵塞的函數(shù)式 Reactive Web 框架 Spring WebFlux等特性。很多使用過SpringBoot的人都知橡好道,使用SpringBoot搭帆高建Web應用真的是又快又好,相信Spring Boot 2會帶來更多驚喜。6、Hadoop、Spark 和 Kafka另外在2023年Java程序員需要學習的是大數(shù)據(jù)相關(guān)的知識。特別是
Apache Spark
和 Kafka兩個框架。如果你也想在2023年學習大數(shù)據(jù),也一定繞不開Hadoop生態(tài)。7、Elasticsearch全文搜索屬于最常見的需求,開源的 Elasticsearch (以下簡稱 Elastic)是目前全文搜索引擎的首選。
、Stack Overflow、Github 都在使用它。Elasticsearch是一個基于Lucene庫的搜索引擎。它提供了一個分布式、支持多租戶的全文搜索引擎,具有HTTP Web接口和無模式ON文檔。Elasticsearch是用Java開發(fā)的,并在Apache許可證下作為開源軟件發(fā)布。8、ServiceMesh這兩年很火,火的一塌糊涂。在2023年,但凡是程序員相關(guān)的大會,如果沒有講ServiceMest的專題,那都不好意思開。所有人都在說 ServiceMesh;幾乎沒人知道怎么落地 ServiceMesh;但是大家都覺得其他人在大力做 ServiceMesh;所以大家都宣稱自己在做 ServiceMesh;這個號稱下一代微服務架構(gòu)的概念,現(xiàn)在對于大多數(shù)人來說根本不知道是啥。只知道很多大廠宣稱自己在做,很多大牛在布道。9、Serverless無服務器運算(英語:Serverless computing),又被稱為功能即服務(Function-as-a-Service,縮寫為 FaaS),是云計算的一種模型。以
平臺即服務
(PaaS)為基礎(chǔ),無服務器運算提供一個微型的架構(gòu),終端客戶不需要部署、配置或管理服務器服務,代碼運行所需要的服務器服務皆由云平臺來提供。這東西,聽上去就很高大上。10、Kotlin如果大家有關(guān)注Java 13的新特性的話,一定知道推出了字符串文本塊的功能,這個功能其實是借鑒的Kotlin,除此之外,最近幾年,Java有很多特性都在借鑒Kotlin,相比較于Java,Kotlin更加簡潔,而且Kotlin編出來的代碼也可以直接通過JVM運行。Kotlin是一種在Java虛擬機上運行的靜態(tài)類型編程語言,它也可以被編譯成為JavaScript
源代碼
。Kotlin的設計初衷就是用來生產(chǎn)高性能要求的程序的,所以運行起來和Java也是不相上下。Kotlin可以從 JetBrains InteilliJ Idea IDE這個開發(fā)工具以插件形式使用??偨Y(jié)以上,就是作者總結(jié)的建議Java程序員在2023年學習的一些技術(shù),希望能給愛學習的你一個參考。其中有一些是一定要學習的,還有一些是看大家的精力情況酌情考慮。原文鏈接:
各位看過了太多學習路線圖了吧,是不是就是張思路腦圖,看上去知識點非常多,看了好像看懂了,又好像沒理解
最后其實就逗衡知獲得了一張“圖”還是疑惑零基礎(chǔ)學習Java底層結(jié)構(gòu)是什么? 哪些內(nèi)容是必備知識山消?學到什么程度可以找工作?
如果有以上問題,推薦各位伙伴下面攔啟這個視頻,良心分享
2小時理通Java學習思路,學習路上不迷茫
一個完整的App開發(fā)需要哪些技術(shù)
一個完整的App開發(fā)需要哪些技術(shù)?在回答這個問題之前,我們首先要了解App都有哪些類型,不同的類型適用于哪些需求,用戶可以根據(jù)自己的需求選擇不同的App開發(fā)。
一、 App有哪些形式
WebApp:簡單來說,Web App就是針對iOS/Android優(yōu)化后的web站點,用戶不需要下載安裝即可訪問。一般的web站點測重使用網(wǎng)頁技術(shù)在移動端做展示,包括文字,視頻,圖片等,而Web App更側(cè)重“功能”,是基于網(wǎng)頁技術(shù)開發(fā)實現(xiàn)特定功能的應用,必須依賴手機瀏覽器運行。Web App開發(fā)成本低,維護更新簡單,支持云修復,用戶不用下載更新,但是App的
用戶體驗
不足,頁面跳轉(zhuǎn)遲鈍甚至卡殼,頁面交互動態(tài)效果不靈活,而且可能上不了AppStore,如果企業(yè)的核心功能不多,App需求側(cè)重于信息查詢,瀏覽等基礎(chǔ)功能,可以選擇Web App。
Native App(原生App):Native App是基于智能手機操作系統(tǒng)(現(xiàn)在主流的是ios和Android)用原生程序編寫運營的App。Native App運行時是基于本地操作系統(tǒng)的,所以它的兼容能力和訪問能力更好,擁有更佳的用戶體驗、更好的交互界面,但也是開發(fā)難度更大,開發(fā)成本和維護成本更高的App。
Hybrid App(混合App):是指半原生半web的混合類App,同時采用網(wǎng)頁語言和程序語言進行開發(fā),通過不同的
應用商店
進行打包分發(fā),用戶需要下載安裝使用。Hybrid App兼具Native App良好的用戶交互體驗和web App跨平臺開發(fā)的優(yōu)勢,因在開發(fā)過程中使用網(wǎng)頁語言,所以開發(fā)成本和難度大大降低。Native App是現(xiàn)在的主流應用,大型的App如淘寶/掌上百度/微信都是走的Hybrid App路線。
二、開發(fā)不同類型的App需要用到哪些技術(shù)?
Web App:iOS/Android的內(nèi)置瀏覽器是基于webkit內(nèi)核的,所以在開發(fā)webApp時,多數(shù)使用html或html5、CSS3、JavaScript技術(shù)做UI布空亮局,使其在網(wǎng)站頁面上實現(xiàn)傳統(tǒng)的C/S架構(gòu)軟件功能,服務端技術(shù)用java、php、ASP?,F(xiàn)在也有很多一鍵生成webApp的平臺,如百度siteApp/移動開發(fā)平臺APICloud,APICloud平臺提供基于騰訊x5瀏覽器引擎生成webApp,因為移動端的超級流量入口微信/手機qq等用肢胡的也是騰訊x5內(nèi)置瀏覽器,所以用騰訊x5瀏覽器生成的App在移動頁面展示時適配于微信的瀏覽斗饑寬體驗,這樣可以幫助webApp引流。
Native App:
開發(fā)Native App需要根據(jù)運行的手機系統(tǒng)采用不同的開發(fā)語言,開發(fā)Android App需要的開發(fā)語言是java,還需要熟悉Android環(huán)境和機制。主要知識點如下:
1. 開發(fā)環(huán)境,
Android Studio
、eclipse.如何搭建Android開發(fā)環(huán)境可以去百度。
2.
數(shù)據(jù)結(jié)構(gòu)
,App的某些功能涉及到做算法,所以要有一定的數(shù)學基礎(chǔ)
3.
Android SDK
,會API接口開發(fā),包括自行開發(fā)API的能力和調(diào)用第三發(fā)API的經(jīng)驗。
4. 熟悉tcp、IP,socket等
網(wǎng)絡協(xié)議
5. 如果涉及到服務器,你還需要了解webservice相關(guān)知識和相應的開發(fā)語言,常用有PHP、P、ASP.Net.
6. 除了這些功能基礎(chǔ),App開發(fā)還涉及到
UI設計
、框架、性能優(yōu)化、調(diào)試適配等。
Objective-C是開發(fā)iOS系統(tǒng)App的主流
編程語言
,開發(fā)者一般用
蘋果公司
的iOS SDK搭建開發(fā)環(huán)境,iOS SDK是開發(fā)iOS
應用程序
中不可少的軟件開發(fā)包,提供了從創(chuàng)建程序,到編譯、調(diào)試、運行、測試等多種開發(fā)過程中需要等工具。學習iOS開發(fā)可以去看蘋果官方文檔,這是最權(quán)威的ios教程。
Hybrid App:混合開發(fā)中主流的是以web為主體型的開發(fā),即以網(wǎng)頁語言編寫,穿插Native功能的hybrid App開發(fā)類型,網(wǎng)頁語言主要有html5、CSS3、JavaScript。Web主體型的App用戶體驗好壞,取決于底層
中間件
的交互與跨平臺的能力。國內(nèi)外有很多優(yōu)秀的開發(fā)工具,如國外的AppmAkr、Appmobi,國內(nèi)的APICloud,APICloud的底層引擎用Deep Engine,使用半翻譯式原理,將運行中的web翻譯成Native API,并且支持擴展API,開發(fā)時可調(diào)用用原生語言開發(fā)的功能模塊,以此達到媲美原生App的用戶體驗,同時節(jié)省開發(fā)時間。
對企業(yè)來說,可以根據(jù)自己的需求選擇不同的開發(fā)類型和開發(fā)工具,目前來看,Hybrid App已經(jīng)成為移動開發(fā)趨勢,一方面Hybrid App開發(fā)時不采用或者大部分不采用原生語言,卻能擁有原生應用的特性,一方面隨著web技術(shù)的發(fā)展,Hybrid App技術(shù)已經(jīng)成熟,很多大型App淘寶、微信、
攜程
都屬于這種開發(fā)模式,Hybrid App給企業(yè)移動應用的開發(fā)、維護、更新都帶來了極高的便捷性,從成本投入用戶體驗考慮,Hybrid App都是首選。
1.按APP的打包與發(fā)布方式來分類,APP分為三類:
需要安裝的APP,Native App、Hybird App、React App都屬于這一類,發(fā)布時需要將App打包成可執(zhí)行程序,然后掛到市場或者網(wǎng)站上,讓用戶下載安裝后才能運行,其功能受限于平臺API與權(quán)限,但也可以通過一些技巧越過平臺API與權(quán)限限制,比如Hook技術(shù)。
不需要安裝的APP,Web App,其實本質(zhì)上就是個網(wǎng)站,晌遲帶只是做成了和手機APP相仿的樣子,發(fā)布方式與網(wǎng)站發(fā)布相同,用戶可以通過瀏覽器或者微信之類的工具去加載這個網(wǎng)站,其功能相對于手機,受限于瀏覽器引擎提供對手機本地服務(文件、相機等等)訪問的接口,通常功能非常少,所以限制較大。
需要用戶已經(jīng)安裝某個第三方APP,然后跑在第三方APP上的APP,這類技術(shù)安卓上較多(典型的Python程序可以跑在PythonOnAndroid APP上,或者Ruby解釋器可以跑Ruby程序),而iOS由于有對這類行為做出過明確限制,上架審核規(guī)則里有明確指出,不準APP可以下載源代碼從而擴展功能,所以iOS上過去并不存在這樣的APP。
2.針對需要安裝的APP,APP開發(fā)技術(shù)有如下分類
基于官方推薦與支持的語言與框架開發(fā)的App,安卓目前官方推薦的是Java、Kotlin與C/C++進行開發(fā),iOS目前官方推薦的是Objective-C、Swift與C/C++
基于一些第三方支持的語言和框架開發(fā)的App,這類大多是由一些互聯(lián)網(wǎng)巨頭與開源組織維護的,典型的技術(shù)有:
Qt(知名的跨平臺GUI框架,基于C++,現(xiàn)在隨諾基亞倒臺被Digia收購與商業(yè)化),可以宴蘆用來開發(fā)安卓和iOS,但問題是我有了Java和OC,為啥還要去用Qt C++,是因為太閑或者覺得BUG不夠多嗎。。。
Mono,微軟.NET框架的開源山寨版,與.NET兼容程度很高,一般使用C#開發(fā),可以用來開發(fā)安卓和iOS,性能不佳,C#的開發(fā)效率也沒比Java和OC高到哪去,還要面對沒有官方支持的一堆坑,用他得靠信仰
Node.js,可以使用開發(fā)然后編譯成Native程序,可以用來開發(fā)安卓和iOS,但和大部分的東西一樣,你懂的,是一種宗教
Go,Google的高并發(fā)系統(tǒng)級語言,原目標是用來替換C,但似乎并不是很美,新的語法似乎還不如老的C,看個人喜好吧,目前有一些第三方寫的Android框架,iOS不清楚,沒官方支持
Erlang、Ruby、Python,只要能編譯二進制程序的框架理論上都能旦昌支持安卓和iOS,當然大多不靠譜,有病的可以試一下。
人員組成:
產(chǎn)品經(jīng)理
:負責app需求分析,畫原型圖,把握設計流程,分配工作。
UI設計師
:把握視覺效果,實現(xiàn)app視覺呈現(xiàn)襲納,上配合產(chǎn)品經(jīng)理,下配合代碼工程師。
代碼工程師:UI設計師切好圖,交給代碼工程師實現(xiàn)最終app的呈現(xiàn)。
這是最基本的配置,要想做到更好,還需要
交互設計
師,用戶體驗設計師。
流程解析:
前期需求規(guī)劃罩笑與信息,需要制定出一個完整的需求文檔,功能文檔,
流程圖
,時序圖。
交互設計、UI設計。設計出基本且完善的原型圖和app基礎(chǔ)的交互設計效果,之后再根據(jù)這些設計出完整的
UI界面
并學會切圖,一些需要做自適應的素材圖片需要做點9patch。
使用ADT之類的開發(fā)環(huán)境進行app軟件開發(fā),最基本的也得掌握java語言,熟悉android環(huán)境和機制。
熟悉并能開發(fā)數(shù)據(jù)庫,熟悉API接口開發(fā),這里包括自行開發(fā)API的能力以及調(diào)用第三方API的經(jīng)驗。拍悶沒
掌握App發(fā)布的流程,真機調(diào)試技巧,證書,打包,上架。
比如說安卓app開發(fā)。你要先瞎汪學會java,然后學android的知識。這樣你的單機app就完成了。如果需要聯(lián)網(wǎng)類型的,你需要學習至少一門數(shù)據(jù)庫,然后在學習服務器開發(fā)比如說javaweb。然后把你的app,數(shù)據(jù)庫,服務器連接起來。最后完整的app就可以發(fā)布應用蠢神檔市帶亂場了。
關(guān)于kotlin 查詢數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
網(wǎng)站標題:Kotlin如何使用查詢數(shù)據(jù)庫(kotlin查詢數(shù)據(jù)庫)
URL標題:http://fisionsoft.com.cn/article/cohssji.html


咨詢
建站咨詢
