Я пытаюсь сделать моно Android простым "Привет, мир", но я не вижу "Привет, мир" в эмуляторе, почему? - PullRequest
4 голосов
/ 02 августа 2011

Я удалил запрос android и переустановил его в c: \ androidSdktools без пробелов.Так что теперь эмулятор работает, я вижу эмулятор.

Но попробовал некоторые коды текста "hello world", и когда я запускаю приложение и запускаю эмулятор, я вижу эмулятор Android, но не могусм. здесь "привет мир".Я не уверен, что я не сделал ничего хорошего, или, может быть, это потому, что я все еще получаю сообщение об ошибке при выходе из эмулятора и прекращении отладки, я получаю сообщение об ошибке: ошибки развертывания.Если я говорю, что «да» продолжается, то он попросит меня перестроить / собрать мое решение, прежде чем я запустлю / отладлю его, но я не смог решить эту ошибку.

Я не знаю, есть ли в этой ошибке что-нибудьиз-за того, что я не вижу текста "hello world" в эмуляторе Android.

Я попытался сделать этот код сейчас:

using System;

using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace MonoAndroidApplication1
{
    [Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
    public class Activity1 : Activity
    {
        int count = 1;

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button>(Resource.Id.MyButton);

            button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
        }
    }
}

У меня есть Visual Studio C #2010 pro.

Я попробовал, это автоматический код, созданный, когда я выбрал создание нового моно-приложения для Android.

Но я ничего не увидел в эмуляторе.Я попытался добавить к этому коду как:

using System;

using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace MonoAndroidApplication1
{
    [Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
    public class Activity1 : Activity
    {
        int count = 1;
        TextView tv;

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            tv = new TextView(this);
            tv.Text = "hello world";
            SetContentView(tv);
            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button>(Resource.Id.MyButton);

            button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
        }
    }
}

И снова ничего не увидел в эмуляторе при запуске какого-либо текста «Привет мир» И все еще получал ошибки этого развертывания при выходе из эмулятора и остановкеотладка / запуск приложения.Эмулятор теперь работает нормально, но все равно выдает эти ошибки при выходе.

И почему я не вижу текст "привет мир" на эмуляторе?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 02 августа 2011

Как только вы измените макет, вызвав SetContentView во второй раз, в макете больше не будет кнопки, поэтому ваш FindViewById возвращает ноль.Затем вы пытаетесь установить для события нулевую ссылку.

Посмотрите, как прочитать журнал ошибок, чтобы найти ошибки:

http://android.xamarin.com/Documentation/Guides/Android_Debug_Log

1 голос
/ 14 июня 2012

Возможно, вы неправильно подключили эмулятор

Вместо нажатия клавиши F5, чтобы Visual Studio автоматически подключил эмулятор

попытайтесь:

нажмите кнопку ЗвездаДиспетчер эмуляторов Android (справа от поля со списком, в котором отображается запрос устройства)

после эмулятора, он появится в списке, если он не появится, вам нужно выйти из VS, а затем открыть его.снова (я появлюсь, пока у вас открыт эмулятор)

Выберите его в выпадающем списке, а затем нажмите F5

Готово

1 голос
/ 05 августа 2011

Также может быть, что вы не выбрали запущенный экземпляр эмулятора, как я объяснил здесь .Выполнение этого вместе с инструкциями по установке и учебным пособием Hello World для Monodroid работало нормально для меня.

0 голосов
/ 10 августа 2011

Какую версию Java вы установили? Я установил на своем втором компьютере Java 7 и обнаружил, что Monodroid не поддерживает Java 7, и по этой причине я видел только эмулятор и никакого приложения "Hello World".

Думаю, на прошлой неделе или около того, когда я делал это на другом компьютере, они не выпустили Java 7.

...