现在有个需求java 集成sqlite查本地库 打成jar包 获取系统参数 同步接口 查询接口 销售单的存和提交 并且 安卓能调取
我不知道这个安卓能调取需要怎么做没有头绪然后有没有大佬能给个demo或者是提供一个思路,我组长甚至让我java原生写我更不会了呀
现在有个需求java 集成sqlite查本地库 打成jar包 获取系统参数 同步接口 查询接口 销售单的存和提交 并且 安卓能调取
我不知道这个安卓能调取需要怎么做没有头绪然后有没有大佬能给个demo或者是提供一个思路,我组长甚至让我java原生写我更不会了呀
为了满足在Android上调用Java代码(包括SQLite操作)的需求,你通常会使用Android Studio来开发,并且直接在Android项目中集成SQLite。不过,如果你确实需要将一些通用的Java代码(包括SQLite操作)打包成JAR并在Android中使用,你可以遵循以下步骤:
编写Java代码:
打包成JAR:
在Android项目中使用JAR:
libs
文件夹中(如果项目没有libs
文件夹,则创建一个)。在项目的build.gradle
(Module: app)文件中添加对JAR的引用。例如,如果你的JAR文件名为mylib.jar
,你可以添加如下代码:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// 其他依赖...
}
注意事项:
android.database.sqlite
包来访问,而不是通过JDBC或其他Java库。如果你的JAR文件使用了这些库,你可能需要重写这部分代码以兼容Android。编写Android代码来调用JAR中的功能:
import
语句引入JAR中的类。测试:
示例:
由于这里不能直接提供完整的示例代码,但我可以给你一个简化的示例来说明如何在Android中调用JAR中的方法。
假设你的JAR中有一个名为DatabaseHelper
的类,它有一个静态方法querySalesOrder(String orderId)
来查询销售单。
在Android中,你可以这样调用它:
// 假设你已经在Android项目中引入了JAR
import com.yourpackage.DatabaseHelper; // 替换为你的实际包名
// 在某个Activity或Fragment中
public class MyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
// 调用JAR中的方法
String orderId = "12345"; // 示例订单ID
String result = DatabaseHelper.querySalesOrder(orderId);
// 处理查询结果...
// 例如,显示在一个TextView上
TextView textView = findViewById(R.id.my_text_view);
textView.setText(result);
}
}
请注意,这个示例假设querySalesOrder
方法返回一个字符串,并且你已经处理了所有必要的异常和错误情况。在实际应用中,你可能需要根据你的具体需求来调整代码。
你是要静态调用,还是动态调用啊?
静态调用就跟你用okhttp一样,先使用maven install 安装jar到你本地maven仓库,然后在android项目里面gradle添加依赖,像使用okhttp一样去使用。
动态调用你就把jar放到服务器上,然后使用的时候,使用URLClassLoader#loadClass直接加载网络jar的下载地址,拿到class后反射调用
6 回答4.9k 阅读✓ 已解决
12 回答6k 阅读
4 回答7.3k 阅读
2 回答7.4k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答9.5k 阅读✓ 已解决
3 回答7k 阅读✓ 已解决
你这是才出来实习的吧。
思路是这样:先使用Java写好你业务的相关操作吗,是并将这个工程打包成Jar,然后在安卓端方面,你把Jar给到安卓端,他们可以grade引入你这个Jar,也可以从你们自己仓库中load这个Jar。
这个问题跟Java原生没有关系,你可以自己梳理下干这件事情的步骤和流程。