如何将一个项目转为library导入到另一个项目中以及遇到的坑和解决办法

这篇博客记录了将一个Android项目转化为Library并导入到另一个项目的过程,包括遇到的编译错误和资源冲突问题。博主详细解释了如何解决switch case报错、Butterknife编译错误以及资源ID冲突的问题,并提供了相应的解决方案。同时提醒开发者,避免在Library项目和主项目中使用相同的资源名称,以防止不必要的冲突。
摘要由CSDN通过智能技术生成

博主开发小白一个,第一次自己写博客,将最近做的项目遇到的问题总结一下,有遇到相同bug的可以参考参考。

今天老板要将之前写的一个商场APP嵌入到现在的项目中,好吧,老板最大,没办法,也只能开搞了.....   当开始做的时候,想的就是将项目转为library再导入当前的项目中,想到就做,马上就开搞,首先将build.gradle中改成  Sync Now,然后你会发现报错了,为什么呢 ,原来库文件不能有,把这行删掉 再Sync Now就好了。这样就可以了吗?只能说你太天真了,这只是把项目转为library的第一步,接下来还需要将library文件导入到当前项目中。那么怎么导入呢 ,别急,听博主慢慢道来.首先选择new-> Import Module,选择我们之前准备好的library,将library导入进来,导入进来后,发现没什么问题,然后你在主项目设置了点击跳转到library中写好的一个activity中,运行后,你会发现一片飘红,报错需要常量表达式.....what,这是什么情况,原来library中switch case分支后面跟着的必须是常量,换句话说出现这个问题的原因是Android library中生成的R.java中的资源ID不是常数,,解决办法网上也很多,也就不说为什么会这样了(其实我也不太明白),只要把switch case改成if else 就行了OK,这个bug解决,离成功又近了一步。想想还有点小激动\(^o^)/~。

如果绑定控件id用的是findviewbyid就不会报错,如果是用的Butterknife,那么恭喜你,也一样会报错需要常量表达式那么这个问题该怎么解决呢,其实这个是Butterknife的一个bug,在8.4.0版本已经解决了,当然,博主现在使用的版本已经是最新版的8.6.0了。那么我们先按Butterknife官网给的解决方案试一下。

Library projects

To use Butter Knife in a library, add the plugin to your buildscript:

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'
  }
}

and then apply it in your module:

apply plugin: 'com.android.library
好的,可以按照以下步骤进行操作: 1. 首先,在VB项目添加对ADODB的引用(在项目选择“引用”菜单,然后选择“Microsoft ActiveX Data Objects 2.x Library”)。 2. 然后,在VB项目添加一个“ADO控制”(在工具箱选择“组件”标签,然后选择“Microsoft ADO 数据控制”)。 3. 接下来,打开Excel文件并选择要导入的工作表。 4. 在VB项目添加一个“ADODC”控件,并将其命名为“adoExcel”。 5. 在“adoExcel”控件的属性窗口,将“ConnectionString”属性设置为Excel文件的路径。 6. 在“adoExcel”控件的属性窗口,将“RecordSource”属性设置为要导入的工作表的名称。 7. 在VB项目添加一个“数据网格”控件,并将其命名为“dgExcel”。 8. 在“dgExcel”控件的属性窗口,将“DataSource”属性设置为“adoExcel”。 9. 在“Form_Load”事件,添加以下代码: adoExcel.Refresh dgExcel.Refresh '将Excel文件的数据导入到ADO数据控件 For i = 1 To adoExcel.Recordset.RecordCount adoExcel.Recordset.MoveFirst adoExcel.Recordset.Move i - 1 adoExcel.Recordset.Update Next i 10. 最后,在VB项目添加一个按钮,并在其“Click”事件添加以下代码: '将ADO数据控件的数据插入到数据库 Dim conn As New ADODB.Connection conn.Open "Provider=SQLOLEDB;Data Source=your_server_name;Initial Catalog=your_database_name;User ID=your_user_name;Password=your_password;" For i = 1 To adoExcel.Recordset.RecordCount strSQL = "INSERT INTO your_table_name (field1, field2, ...) VALUES ('" & adoExcel.Recordset.Fields("field1").Value & "', '" & adoExcel.Recordset.Fields("field2").Value & "', ...)" conn.Execute strSQL adoExcel.Recordset.MoveNext Next i conn.Close 以上就是将Excel文件导入到数据库的步骤,需要注意的是,具体的连接字符串和插入语句需要根据你的实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值