android studio引入lib,android studio 项目中引入第三方lib

本人电脑上的android studio是1.2.1.1 ,sdk api22.

正常创建一个project(本例中project为名"demo")

0818b9ca8b590ca3270a3433284dd417.png

开始为项目引入PullToRefresh类库

按下键盘上“F12”或File->new->import module,如下

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

依次导入android-pulltorefresh目录下的library、extras\PullToRefreshListFragment、extras\PullToRefreshListFragment

完成后目录如下

0818b9ca8b590ca3270a3433284dd417.png

b.为demo下的app modules添加类库依赖。

0818b9ca8b590ca3270a3433284dd417.png

完成后结果如上。点击“OK”完成。

3.解决编译错误

0818b9ca8b590ca3270a3433284dd417.png

重新按"F12",修改除app外的其他三个modules中的min sdk和target sdk版本,与app相同

0818b9ca8b590ca3270a3433284dd417.png

ok,编译可以正常通过了。

4、添加一个测试示例。

修改:layout/activity_main.xml文件

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="demo.zhezi.MainActivity"

android:orientation="vertical" >

android:id="@+id/listview"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

修改:MainActivity.java文件

private PullToRefreshListView listView ;

private ArrayAdapter arrayAdapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

listView = (PullToRefreshListView) findViewById(R.id.listview);

arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);

arrayAdapter.add("welcome");

arrayAdapter.add("welcome1");

arrayAdapter.add("welcome2");

arrayAdapter.add("welcome3");

listView.setAdapter(arrayAdapter);

listView.setOnRefreshListener(new OnRefreshListener() {

@Override

public void onRefresh(PullToRefreshBase refreshView) {

new AsyncTask() {

@Override

protected Void doInBackground(Void... params) {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

e.printStackTrace();

}

return null;

}

protected void onPostExecute(Void result) {

arrayAdapter.addAll("Hello","大家好");

listView.onRefreshComplete();

};

}.execute();

}

});

好了。展示效果如下

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio引入第三方C++库的步骤如下: 1. 将第三方库的源代码放入项目的jni目录下,例如:`/app/src/main/jni/third_party_lib/`。 2. 在项目的`build.gradle`文件添加以下代码: ```gradle android { // ... defaultConfig { // ... externalNativeBuild { cmake { cppFlags "-std=c++11 -frtti -fexceptions" abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } } // ... } // ... externalNativeBuild { cmake { path "CMakeLists.txt" } } ``` 其,`path`指定了CMakeLists.txt文件的路径,`cppFlags`指定了编译选项,`abiFilters`指定了支持的CPU架构。 3. 在项目的`CMakeLists.txt`文件添加以下代码: ```cmake add_library(third_party_lib SHARED IMPORTED) set_target_properties(third_party_lib PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/third_party_lib/libthird_party_lib.so) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/third_party_lib/include) ``` 其,`add_library`指定了库的名称,`IMPORTED`表示这是一个外部库,`IMPORTED_LOCATION`指定了库文件的路径,`include_directories`指定了头文件的路径。 4. 在JNI代码调用第三方库的函数。 ```c++ #include "third_party_lib/include/third_party_lib.h" extern "C" JNIEXPORT jstring JNICALL Java_com_example_myapplication_MainActivity_callThirdPartyLib(JNIEnv* env, jobject /* this */) { ThirdPartyLib thirdPartyLib; std::string result = thirdPartyLib.doSomething(); return env->NewStringUTF(result.c_str()); } ``` 其,`third_party_lib/include/third_party_lib.h`是第三方库的头文件,`ThirdPartyLib`是第三方库的类,`doSomething`是第三方库的函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值