在Android-Visual Studio中支持名称空间/引用Java到C#的等效项 - java

我正在开发一个应用程序,其中将代码从Java转换为C#,以在Android上的离线模式下创建自定义MapView。

我正在使用用Java编写的tutorial,并且有一些我无法理解的名称空间,本教程的创建者甚至从那里获得了它们,尤其是写为import com.mapapp.mapapp.R;的特定名称。

为了指定我在哪里,我正在从事这项活动。
我什至不知道在尝试查找有关它的信息时要查找什么,因为它看起来像是项目中的类,但是通过查看package com.mapapp.main;似乎应该是nuget包还是引用同一解决方案中的其他项目。但是创建者从未在教程中提及过类似的内容。

package com.mapapp.main;

import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Environment;
import android.view.Display;
import android.view.KeyEvent;

import com.mapapp.helpers.PointD;
import com.mapapp.mapapp.R;
import com.mapapp.tileManagement.TilesProvider;
import com.mapapp.views.MapView;
import com.mapapp.views.MapViewLocationListener;

在这种情况下,此命名空间在C#中等效于什么,R是什么?

这是使用R的代码部分:

void initViews()
    {
        // Creating the bitmap of the marker from the resources
        Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.marker);

        // Creating our database tilesProvider to pass it to our MapView
        String path = Environment.getExternalStorageDirectory() + "/mapapp/world.sqlitedb";
        tilesProvider = new TilesProvider(path);

        // Creating the mapView and make sure it fills the screen
        Display display = getWindowManager().getDefaultDisplay();
        mapView = new MapView(this, display.getWidth(), display.getHeight(), tilesProvider, marker);

        // If a location was saved while pausing the app then use it.
        if (savedGpsLocation != null) mapView.setGpsLocation(savedGpsLocation);

        // Update and draw the map view
        mapView.refresh();
    }

参考方案

“ R”只是由编译器自动生成的公共类,其中包含对唯一资源ID的静态引用。

编译任何资源(例如图像,字符串,XML样式等)时,每次编译都会为其指定一个唯一的整数。

为了易于使用,R.java包含每个资源的静态常量名称。

请注意,不能保证两个编译之间的ID相同,因此为什么要生成R.java,并且这是引用资源的唯一受支持的方式。

这是一个例子。

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int marker=0x7f020000;
    }
    public static final class id {
        public static final int b1=0x7f050001;
        public static final int text1=0x7f050000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {

        public static final int app_name=0x7f040001;
        public static final int app_name1=0x7f040003;

        public static final int hello=0x7f040000;
        public static final int hello1=0x7f040002;
    }
}

'R.drawable.marker'将解析为'0x7f020000'

You can read more here.

在Android Studio中启动AVD时出错 - java

请帮助我启动AVD时出现以下错误无法在模拟器中启动AVD。输出:模拟器:警告:VM堆大小设置为低于硬件指定的最小值256MB警告:请求的ram_size 1536M太大,减少到512M模拟器:警告:将VM堆大小设置为384MB警告:无法配置任何DNS服务器,名称解析将不起作用启用Hax蜡ram_size 0x20000000HAX正在运行,并且模拟器在快速v…

在Android GCM上使用Java EE优于PHP的优势 - java

Improve this question 我的Android应用程序需要服务器的下游和上游。因此,我决定在Web服务器中使用GCM XMPP。但是XMPP是否支持php Web服务器?如果支持,那么与PHP Web服务器相比,使用J2EE Web服务器有什么优势吗?任何想法将不胜感激。 参考方案 使用您更熟悉的平台。 Web位只是Android应用程序的支…

Visual Studio Code可以增量编译Java Web App项目吗? - java

我是Visual Studio Code的新手。我正在尝试将其与使用Maven的现有Java Web应用程序项目一起使用。我已经下载了推荐的Java扩展,例如Java Extension Pack,Java Maven和Java Tomcat。在IntelliJ(我通常的IDE)中,我可以很快地从Java的少量编辑转到Tomcat中刷新的WAR。如果我编辑文…

应用程序运行时崩溃-不幸地停止了 - java

我的MainScreen包含4个ImageView,每个ImageView都会将用户发送到类别活动,然后发送Extra数据以在ListView中显示内容,但是一旦我单击任何ImageView,应用程序就会停止工作,并在Logcat中显示此错误消息。有人知道这是什么意思吗? 块引用 04-13 21:43:53.337 15929-15929 / com.ib…

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)