如何使用多个包,例如位置和地图?

时间:2017-06-30 19:25:44

标签: android

首先抱歉,我对术语不熟悉。

我正在关注官方的Android教程,我已经陷入了“让你的应用程序位置感知”的第一部分。

我正在关注第一个教程,但我仍然坚持第一步。

这是教程所要做的,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms.location.sample.basiclocationsample">

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

但我已经拥有,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package=com.example.user.myapplication.MainActivity">

我很困惑该做什么。我试过单独把包装,例如。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms.location.sample.basiclocationsample" >
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<activity android:name="com.example.user.myapplication.MainActivity">

但即便如此,在MainActivity.java中,显然FusedLocationProviderClient有一个错误 - 它表示'class'或'interface'。

我将如何解决这个问题,我将如何使用,比方说3个套餐?

2 个答案:

答案 0 :(得分:1)

CommonsWare的回答是正确的。但是,他的回答对你没什么帮助。教程意味着添加一行:

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

紧随其后:

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

您不需要更改软件包名称来解决问题,只需将com.google.android.gms.location.sample.basiclocationsample替换为您当前的软件包名称com.example.user.myapplication.MainActivity

警告!如果您计划将应用发布到Play商店,请使用com.example.user.myapplication.MainActivity

以外的其他内容

一个很好的软件包名称示例是com.michaelluong.myapplication

答案 1 :(得分:0)

  

我将如何解决这个问题,我将如何使用,比方说3个套餐?

你做不到。应用程序有一个包名称(a.k.a.,应用程序ID)。

通常,在使用教程时,您有两种选择:

  1. 按照他们的说法,或

  2. 根据您的经验,依靠您的经验来弥合教程建议与您实际正在做的事情

  3. 在您的情况下,我建议您选择选项#1。您已经遇到的问题(虽然com.example.user.myapplication是一个很好的软件包名称,com.example.user.myapplication.MainActivity充其量只是一个奇怪的选择。)

    如果您创建新项目,当它要求输入包名称时,请填写com.google.android.gms.location.sample.basiclocationsample以匹配教程。

    但是,请记住,您所遵循的“教程”是不完整的,在此过程中会跳过步骤。尽管他们的名字,大多数“教程”不适合Android的新手。