当前位置:首页 » 安卓系统 » android调用api

android调用api

发布时间: 2022-08-09 07:12:22

A. Android 应用,app inventor怎么调用百度地图api

本篇通过一个简单的示例一步步介绍如何在Android应用中使用网络地图api。

1)下载网络地图移动版API(Android)开发包

要在Android应用中使用网络地图API,就需要在工程中引用网络地图API开发包,这个开发包包含两个文件:mapapi.jar和libBMapApiEngine.so。下载地址:http://dev..com/wiki/static/imap/files/BaiMapApi_Lib_Android_1.0.zip

2)申请API Key

和使用Google map api一样,在使用网络地图API之前也需要获取相应的API Key。网络地图API Key与你的网络账户相关联,因此您必须先有网络帐户,才能获得API Key;并且,该Key与您引用API的程序名称有关。

网络API Key的申请要比Google的简单多了,其实只要你有网络帐号,应该不超过30秒就能完成API Key的申请。申请地址:http://dev..com/wiki/static/imap/key/

3)创建一个Android工程

这里需要强调一点:网络地图移动版api支持Android 1.5及以上系统,因此我们创建的工程应基于Android SDK 1.5及以上。

工程创建完成后,将mapapi.jar和libBMapApiEngine.so分别拷贝到工程的根目录及libs/armeabi目录下,并在工程属性->java Build Path->Libraries中选择“Add JARs”,选定mapapi.jar,这样就可以在应用中使用网络地图API了。

4)在布局文件中添加地图控件(res/layout/main.xml)

[xhtml] view plain

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<com..mapapi.MapView android:id="@+id/map_View"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:clickable="true"

/>

</LinearLayout>

5)创建Activity继承com..mapapi.MapActivity

[java] view plain

package com.liufeng.map;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import com..mapapi.BMapManager;

import com..mapapi.GeoPoint;

import com..mapapi.MapActivity;

import com..mapapi.MapController;

import com..mapapi.MapView;

public class MainActivity extends MapActivity {

private BMapManager mapManager;

private MapView mapView;

private MapController mapController;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// 初始化MapActivity

mapManager = new BMapManager(getApplication());

// init方法的第一个参数需填入申请的API Key

mapManager.init("", null);

super.initMapActivity(mapManager);

mapView = (MapView) findViewById(R.id.map_View);

// 设置地图模式为交通地图

mapView.setTraffic(true);

// 设置启用内置的缩放控件

mapView.setBuiltInZoomControls(true);

// 用给定的经纬度构造一个GeoPoint(纬度,经度)

GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));

// 创建标记maker

Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);

// 为maker定义位置和边界

marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());

// 取得地图控制器对象,用于控制MapView

mapController = mapView.getController();

// 设置地图的中心

mapController.setCenter(point);

// 设置地图默认的缩放级别

mapController.setZoom(12);

}

@Override

protected boolean isRouteDisplayed() {

return false;

}

@Override

protected void onDestroy() {

if (mapManager != null) {

mapManager.destroy();

mapManager = null;

}

super.onDestroy();

}

@Override

protected void onPause() {

if (mapManager != null) {

mapManager.stop();

}

super.onPause();

}

@Override

protected void onResume() {

if (mapManager != null) {

mapManager.start();

}

super.onResume();

}

}

6)在AndroidManifest.xml中配置

[xhtml] view plain

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.liufeng.map"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".MainActivity" android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

<uses-sdk android:minSdkVersion="4" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

</manifest>

说明:上面的应用只是简单的展示了网络地图(交通地图),并将一个指定的点(根据经纬度确定)展示在手机屏幕的中心。当然,实际项目中涉及的map应用不会这么简单,网络地图API为我们提供了丰富的功能接口,有待我们一起去研究学习。

B. android studio可以调用百度API实现地铁线路

嗯嗯,是可以的,当然可以,肯定是可以的,绝对是可以的。你妈妈向我做出了保证,并且还是用她的性命作担保的,这样的事情,你应该充分的相信才对呀。

C. 如何在android程序中使用百度api接口

网络地图、网络语音、网络导航、网络定位等等。
以下为使用网络天气提供的api,具有天气查询,城市设置,短信分享天气等基本功能,界面清爽,不过现在因为网络key的原因失效了,不能更新天气了。.java中的AK替换成自己申请的网络API KEY,申请地址http://lbsyun..com/apiconsole/key。代码有比较详细的注释。代码量也不大,有兴趣的朋友可以自己排查一下。项目编码UTF-8 默认编译版本4.2.2
Android应用源码使用网络天气的爱天气项目源码 Android应用源码使用网络天气的爱天气项目源码 Android应用源码使用网络天气的爱天气项目源码

文件夹 PATH 列表
卷序列号为 767E7528 000A:8F50
E:.
│ 070705 (1).png
│ 070705 (2).png
│ 070705 (3).png
│ javaapk.com文件列表生成工具.bat
│ 更多源码打包下载.url
│ 本源码使用帮助.txt
│ 目录列表.txt

└─iWeather
│ .classpath
│ .project
│ AndroidManifest.xml
│ ic_launcher-web.png
│ proguard-project.txt
│ project.properties

├─.settings
│ org.eclipse.core.resources.prefs
│ org.eclipse.jdt.core.prefs

├─assets
│ └─fonts
│ fangzhenglantingxianhe_GBK.ttf
│ HelveticaNeueLTPro-Lt.ttf


├─gen
│ └─e
│ └─swust
│ └─iweather
│ BuildConfig.java
│ R.java

├─libs
│ │ locSDK_4.0.jar
│ │ wae-for-debug.jar
│ │
│ └─armeabi
│ liblocSDK4.so

├─res
│ ├─drawable
│ │ city_pressed_effect.xml
│ │ title_bar_image_pressed_effect.xml
│ │
│ ├─drawable-hdpi
│ │ bg_cloudy_day.jpg
│ │ bg_cloudy_night.jpg
│ │ bg_fine_day.jpg
│ │ bg_fine_night.jpg
│ │ bg_fog.jpg
│ │ bg_haze.jpg
│ │ bg_na.jpg
│ │ bg_overcast.jpg
│ │ bg_rain.jpg
│ │ bg_sand_storm.jpg
│ │ bg_snow.jpg
│ │ bg_thunder_storm.jpg
│ │ city_bg_pressed.9.png
│ │ drag_view_handle.png
│ │ icon.png
│ │ icon_search.png
│ │ ic_launcher.png
│ │ locate_indicator.png
│ │ search_input_bg.9.png
│ │ select_city_bg_cover.9.png
│ │ select_city_bg_default.jpg
│ │ temperature_small_img.png
│ │ title_bar_about.png
│ │ title_bar_back.png
│ │ title_bar_bg.9.png
│ │ title_bar_refresh.png
│ │ title_bar_shared.png
│ │ today_weather_extra_arrow.png
│ │ trend_bg_line.png
│ │ weather_forcast_bg.9.png
│ │ weather_forecast_icon.png
│ │ weather_icon_cloudy.png
│ │ weather_icon_fine.png
│ │ weather_icon_fog.png
│ │ weather_icon_hail.png
│ │ weather_icon_overcast.png
│ │ weather_icon_rain_big.png
│ │ weather_icon_rain_middle.png
│ │ weather_icon_rain_small.png
│ │ weather_icon_rain_snow.png
│ │ weather_icon_rain_storm.png
│ │ weather_icon_sand_storm.png
│ │ weather_icon_sleet.png
│ │ weather_icon_snow_big.png
│ │ weather_icon_snow_middle.png
│ │ weather_icon_snow_small.png
│ │ weather_icon_snow_storm.png
│ │ weather_icon_thunder_storm.png
│ │ weather_img_cloudy_day.png
│ │ weather_img_cloudy_night.png
│ │ weather_img_fine_day.png
│ │ weather_img_fine_night.png
│ │ weather_img_fog.png
│ │ weather_img_hail.png
│ │ weather_img_overcast.png
│ │ weather_img_rain_big.png
│ │ weather_img_rain_middle.png
│ │ weather_img_rain_small.png
│ │ weather_img_rain_snow.png
│ │ weather_img_rain_storm.png
│ │ weather_img_sand_storm.png
│ │ weather_img_sleet.png
│ │ weather_img_snow_big.png
│ │ weather_img_snow_middle.png
│ │ weather_img_snow_small.png
│ │ weather_img_snow_storm.png
│ │ weather_img_thunder_storm.png
│ │ welcome_bg.jpg
│ │ welcome_icon.png
│ │ wind_samll_img.png
│ │
│ ├─drawable-ldpi
│ │ icon.png
│ │
│ ├─drawable-mdpi
│ │ icon.png
│ │ ic_launcher.png
│ │
│ ├─drawable-xhdpi
│ │ icon.png
│ │ ic_launcher.png
│ │
│ ├─drawable-xxhdpi
│ │ icon.png
│ │
│ ├─layout
│ │ city_item.xml
│ │ select_city.xml
│ │ weather.xml
│ │ weather_dialog.xml
│ │ weather_forecast_item.xml
│ │ welcome.xml
│ │
│ └─values
│ colors.xml
│ dimens.xml
│ strings.xml
│ styles.xml

└─src
└─e
└─swust
└─iweather
│ SelectCity.java
│ Weather.java
│ Welcome.java

├─util
│ Utils.java

└─web
SinaWeather.java
UpdateWeather.java

D. 如何调用Android隐藏API

在windows7操作系统Eclipse开发软件中按照如下步骤调用Android隐藏API。

1、首先把classes.jar文件拷贝到Android工程中的lib目录下

2、接着在Eclipse中把classes.jar文件加入到build
path中,如下图:

E. Unity在Android和iOS中如何调用Native API

首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调用。利用这一特性,可以扩展unity的功能。例如集成和调用第三方库。同时为了满足对unity接口的一致性,可以考虑在android和iOS上提供相同的接口供C#调用。这里列举以下两个例子。本例对应的接口声明如下:public class CallNativeAPI { #if UNITY_EDITOR public static void OpenWebView(string url) { return; } public static void SumNum(int v1, int v2) { TestUnityEditor.SumNum(v1, v2); return; } #elif UNITY_IPHONE [DllImport ("__Internal")] public static extern void OpenWebView(string url); [DllImport ("__Internal")] public static extern void SumNum(int v1, int v2); #elif UNITY_ANDROID [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] public static extern void OpenWebView(string url); [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] public static extern void SumNum(int v1, int v2); #endif public static void SumNumForResult(int v1, int v2, CallbackManager.ResultCallback callback) { TestCallbackManager.sumNumCallback.SetResultCallBack(new CallbackManager.ResultCallback(callback)); SumNum(v1, v2); return; } } namespace CallbackManager { public delegate void ResultCallback(int result); public class SumNumManager{ public SumNumManager() { } private ResultCallback resultCallback; public void SetResultCallBack(ResultCallback callback) { resultCallback = callback; } public void SendResult(int result) { resultCallback(result); } } } public class TestCallbackManager { public static CallbackManager.SumNumManager sumNumCallback = new CallbackManager.SumNumManager(); }

F. 如何使用Android调用百度地图API

1、调用网络地图API首先要申请一个秘钥,进入http://lbsyun..com/用网络账号登陆,进入页面申请秘钥(具体所填信息以网站为准)

网络地图拥有庞大的地图相关功能,详细内容请参照官网(http://lbsyun..com/index.php?title=androidsdk ) 中的开发指南。

G. android 的API如何使用

看来你还连门都没入啊,用的java语言,如何调用api跟java一样的。

还有想使用控件前,必须先找到他的id。
比如:AutoCompleteTextView autocomplete = (AutoCompleteTextView) findViewById(R.id.autocomplete);
想要使用就直接调用方法就可以了:
autocomplete.settext("aaa");

注意直接findViewById只能找本activity设置的布局文件中的控件,如果想要找其他的需要先找到布局文件再去找控件。

H. 比较低的android系统下调用API Level 16 的方法,要怎么做才行

加入V4兼容包,AndroidManifest.xml里设置成:
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="16" />
project.properties这个文件配置成:target=android-16
这样你开发的程序就可以兼容1.6——4.1版本的android手机了

I. android怎样调用@hide和internal API

Android有两种类型的API是不能经由SDK访问的。 第一种是位于com.android.internal包中的API。我将称之为internal API。第二种API类型是一系列被标记为@hide属性的类和方法。从严格意义上来讲,这不是一个单一的API,而是一组小的被隐藏的API,但我仍将其假设为一种API,并称之为hidden API。 Hidden API 例子 你可以查看一下android的源码,并能找到一些变量、函数和类等,都被@hide属性标记了。 下面的例子就是在WifiManager(API 10源码)中隐藏的变量。 另一个例子是在WifiManager(API 10源码)中隐藏了setWifiApEnabled函数。 因此,只要你看到@hide属性,那你看到的就是hidden API。 Internal和hidden API的区别 Hidden API之所以被隐藏,是想阻止开发者使用SDK中那些未完成或不稳定的部分(接口或架构)。举个例子,Bluetooth API在API 5(Android 2.0)上才开放;在API 3 和4上都是用@hide属性隐藏了。当这些API被验证和清理后,Google的开发者会移除@hide属性,并让其在API 5官方化。很多地方在API 4 和5之间发生了变化。如果你的程序依赖某些隐藏的API,当其部署到新的平台上时,就有可能陷入困境。 对于internal API来说,从来都没有计划将其开放出来。它就是Android的“内部厨房”,对开发者来说,应该将其视作黑盒。凡事都会有变化的。如果你依赖某些internal API,也有可能在新的Android release上,这些internal API发生变化,从而令你失望。 总结一下区别: Hidden API = 进行中的工作; Internal API = 黑盒; Internal和hidden API的编译时 vs. 运行时 当你使用Android SDK进行开发的时候,你引用了一个非常重要的jar文件——android.jar。它位于Android SDK平台的文件夹中(SDK_DIR/platforms/platform-X/android.jar,其中,X表示API等级)。这个android.jar移掉了com.android.internal包中所有的类,也移掉了所有标记有@hide的类,枚举,字段和方法。 但当你在设备上启动应用程序时,它将加载framework.jar(简单来说,它和android.jar等同),而其未移掉internal API和hidden API。(但它对开发者来说,并不能友好地访问,因此,我将向大家展示不通过反射如何使用这些API)。 关于internal API,还有一件事需要说明。Eclipse的ADT插件增加了一个额外的规则,那就是禁止使用com.android.internal包中的任何东西。所以,即便是我们可以拿到最原始的android.jar(未删减版),也没有轻松的办法通过Eclipse使用这些internal API。 你可以亲自检查一下。创建一个新的Android工程(或者使用已有的)。查看一下它引用的类库(右击project Properties –> Java Build Path –> Libraries)。 重要的总结:internal和hidden API在SDK中是按照一样的方式处理的(都从android.jar中移除了),但internal API更惨的是,还被Eclipse的ADT插件显式禁止了。 不通过反射使用internal和hidden API 这些文章的终极目标是让开发者能够不通过反射使用Internal和Hidden API。如果你完成了接下来部分中描述的步骤,你将能使用这些Internal和Hidden API,如同公开的API。你不再需要使用反射。 注:如果你正在使用这些非公开的API,你必须知道,你的程序有着极大的风险。基本上,无法保证在下一次的Android OS更新时,这些API不被破坏,也无法保证不同的运营商有着一致的行为。你自己决定吧。 接下来有三个场景: 1. Internal 和hidden API都可用(场景A) 2. 只Hidden API可用(场景B) 3. 只Internal API可用(场景C) 场景A是B、C的总和。场景B是最简单的一个(不需要对Eclipse的ADT修改)。 场景A:阅读Part1, 2, 3, 4, 5 场景B:阅读Part1, 2, 3, 5 场景C:阅读Part1, 2, 3, 4, 5 我解释了为什么我们不通过反射就会很难使用internal和hidden API。这是因为android.jar中就没包含这些API,因此,没人能够在编译时引用这些类。 这篇文章将描述如何还原最初的android.jar。这将允许我们像使用公开的API那样使用internal和hidden API。 如何得到原版android.jar? 我们需要修改android.jar,这样它才能包含所有的*.class文件(包括internal和hidden API类)。有两种办法: 1) Android是一个开源工程。我们可以下载源码并搭建编译环境,这样它就不能移除那些internal和hidden的类了。这个办法比较困难; 2) 每个模拟器或真机在运行时都会有一个等同android.jar的东西。我们可以从这里拿到jar文件,提取出原始的.class文件,并拷贝到Android SDK的android.jar中。 我将采用方案2。它易于开始,还不需要搭建Linux环境及编译环境等。 从设备上获取framework.jar 你可以使用命令行(adb pull)从模拟器或设备上下载文件,或者使用DDMS(借助Eclipse或SDK中的应用)。 注意:模拟器通常在.dex文件中包含代码,而真机一般在优化版的dex文件中包含代码——odex文件。操作odex文件比较困难,这也是为什么我选择模拟器的原因。 与Android SDK中的android.jar等同的文件是framework.jar。这个文件位于设备的:/system/framework/framework.jar adb pull /system/framework/framework.jar 当framework.jar从设备上下下来之后,重命名为framework.zip并解压到独立的文件夹中,看起来是这个样子的: classes.dex正是我们需要的。 创建framework-classes.zip 首先,我们需要把.dex文件转换成.jar格式。你可以使用通用的工具dex2jar。只需要运行: dev2jar classes.dex 当转换结束时,你应该得到了classes.dex.dex2jar.jar文件。重命名为framework-classes.zip。使用zip查看器,进入到framework-classes.zip/com/android/internal/: 恭喜你,你已经拥有了所有的.class文件,包括internal和hidden API(尽管截图只确认了internal部分)。 创建original-android.jar Android SDK的android.jar位于ANDROID_SDK/platforms/android-X/android.jar(X表示API等级)。 拷贝android.jar成custom-android.jar。解压至custom-android文件夹。将framework-classes.zip中所有的.class文件拷贝到custom-android文件夹中(你需要覆盖所有已经存在的.class文件)。 然后,压缩custom-android文件成original-android.zip。重命名为original-android.jar。 步骤总结 1. 选择你的目标平台X 2. 创建目标平台X的模拟器 3. 启动模拟器,下载/system/framework/framework.jar 4. 重命名framework.jar -> framework.zip 5. 从framework.zip中抽取classes.dex 6. 使用dex2jar工具,将其转换成classes.jar 7. 重命名classes.jar -> framework-classes.zip 8. 拷贝android.jar –> custom-android.zip 9. 解压custom-android.zip至custom-android文件夹 10. 将framework-classes.zip中所有文件拷贝至custom-android文件夹(覆盖存在的文件) 11. 压缩custom-android文件夹成original-android.zip 12. 重命名original-android.zip -> original-android.jar 打完收功。

热点内容
原神和steam游戏哪个需要配置 发布:2024-05-06 06:37:40 浏览:664
nginx访问403 发布:2024-05-06 05:56:39 浏览:677
android上传图片参数 发布:2024-05-06 05:56:04 浏览:221
360控制上传流量 发布:2024-05-06 05:38:11 浏览:999
几代算法 发布:2024-05-06 05:33:43 浏览:353
安卓怎么查看iculd照片 发布:2024-05-06 05:18:24 浏览:91
shell脚本减法 发布:2024-05-06 05:18:22 浏览:353
中文解压缩文件 发布:2024-05-06 05:13:24 浏览:197
android短信删除 发布:2024-05-06 04:58:42 浏览:260
安卓手机236开发者选项在哪里 发布:2024-05-06 04:11:13 浏览:260