Android Studio 引用runtime文件

本文介绍了在Android Studio (AS) 中如何正确引用库文件,包括不在libs目录下的库文件和JNI库(.so文件)的引用方法。对于库文件,可以通过在项目模块设置中添加依赖并选择Provided方式来引用;而对于JNI库,则需在build.gradle文件中指定源目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在接一些平台SDK 的时候,有时候会有一些库文件,并不是放在libs目录下的。在Eclipse 下引用很简单,只需需要引用的库文件选择 Build path –>Add to build path 即可。但在AS中,并不是这样引用的。这里做一下记录,方便以后使用。

右击项目 –> Open Modules Settings –>app –> Dependencies
添加runtime 目录下库文件,并选中 Provided 方式。如下:

    /*provided the jar files path*/
    provided files('runtime/CMBilling.jar')

这样就可以把runtime 目录下的库文件,像libs 下的库文件引用起来。

另外再额外提一点 , AS引用jniLibs (.so文件)目录的方法:
在项目的app目录下的编辑build.gradle,在其内添加如下代码:

sourceSets{
        main{
            jniLibs.srcDirs = ['libs']
        }
    }
### 添加 Room 数据库依赖 为了在 Android Studio 项目中使用 Room 数据库,首先需要向项目的 `build.gradle` 文件添加必要的依赖项。具体来说,在模块级别的 `build.gradle` 文件中的 dependencies 部分添加如下代码: ```gradle dependencies { def room_version = "2.5.0" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" // optional - Kotlin Extensions and Coroutines support for Room implementation "androidx.room:room-ktx:$room_version" // optional - Test helpers testImplementation "androidx.room:room-testing:$room_version" } ``` 同步 Gradle 后,这些依赖将会被下载到项目中[^4]。 ### 创建实体类 (Entity) 定义数据表结构通过创建一个带有 `@Entity` 注解的 Java/Kotlin 类来完成。此注解允许指定表格名称和其他属性。例如: ```kotlin import androidx.room.Entity import androidx.room.PrimaryKey @Entity(tableName = "users") data class User( @PrimaryKey val uid: Int, val name: String?, val lastName: String? ) ``` ### 定义数据访问对象 (DAO) DAO 是应用程序与数据库交互的主要接口。它通常是一个带有一个或多个抽象方法的接口,用于执行 CRUD 操作。下面展示了一个简单的 DAO 接口例子: ```kotlin import androidx.room.Dao import androidx.room.Insert import androidx.room.Query @Dao interface UserDao { @Insert fun insertAll(vararg users: User) @Query("SELECT * FROM users") fun getAll(): List<User> } ``` ### 构建数据库抽象层 (RoomDatabase) 最后一步是构建一个继承自 `RoomDatabase` 的抽象类,该类提供对 DAO 实例的访问。这同样涉及到使用特定的注解来声明这是一个 Room 数据库以及其版本号等信息: ```kotlin import androidx.room.Database import androidx.room.RoomDatabase @Database(entities = arrayOf(User::class), version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun userDao(): UserDao } ``` 以上步骤完成后就可以按照 Entry 类 -> Dao -> EntryRoomDatabase 单例模式 -> Repository 获取 Dao -> 在 Repository 中实现异步逻辑 -> ViewModel 使用 Repository 进行 CRUD 操作这样的架构设计来进行开发工作了[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值