کلیدستان

نسخه‌ی کامل: خارج شدن از برنامه
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
http://www.kelidestan.com/android/android-15.php#
تو درسی که ادرسش رو بالا گزاشتم یه مشکلی پیش اومده
اول مشکل زیر درست شد که حالا نمیدونم چی شد خودش درست شد و من تو این موندم-بعد که برنامه رو که درست کردم و تو شبیه ساز YouWave Android اجراش میکنم وقتی رو دکمهbutton
کلیک میکنم از برنامه خارج میشه!!!حالا چرااااااااااااااااااااا؟؟؟؟   

کد های قسمت  mainactivity.java

کد پی‌اچ‌پی:
package dmf313.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class 
MainActivity extends Activity 
{
    @
Override
    
protected void onCreate(Bundle savedInstanceState
    {
            
super.onCreate(savedInstanceState);
            
setContentView(R.layout.activity_main);
            
            
Button b = (ButtonfindViewById(R.id.button1);
            
b.setOnClickListener(new OnClickListener() 
            {
                @
Override
                
public void onClick(View v
                {
                    
startActivity(new Intent(MainActivity.thisactivity2.class));
                }
            } );
    }
    @
Override
    
public boolean onCreateOptionsMenu(Menu menu
    {
            
// Inflate the menu; this adds items to the action bar if it is present.
            
getMenuInflater().inflate(R.menu.mainmenu);
            return 
true;
    }


در کد بالا به خط زیر(کلمه button1) گیر میده و میگه

    button1 cannot be resolved or is not a field

کد پی‌اچ‌پی:
Button b = (ButtonfindViewById(R.id.button1); 

فایل برنامم رو هم پیوست کردم

[attachment=315]

[attachment=316]
 
سلام.
کدهای فایل AndroidManifest.xml دو مشکل اساسی داشت. یکی اینکه شما نام package برنامه را تغییر داده بودید، اما به روش نادرست، که باعث شده بود عبارت قبل از نام activity ها هنوز شامل نام همان package قبلی باشد. دوم اینکه نام activity دوم را اصلا در فایل  AndroidManifest.xml ذکر نکرده بودید. 
این کدهایی است که شما نوشته بودید :

کد:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="dmf313.com"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.kelidestan.two_activity.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>

</manifest>

اما کدهای صحیح برای  AndroidManifest.xml پروژه اندروید، به صورت زیر می باشد :

کد:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="dmf313.com"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="dmf313.com.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>
        <activity
            android:name="dmf313.com.activity2"
            android:label="@string/app_name" >
        </activity>
    </application>

</manifest>

اگر دقت کنید، عبارت زیر :

کد:
android:name="com.kelidestan.two_activity.MainActivity"

به این عبارت تبدیل شده است :

کد:
android:name="dmf313.com.MainActivity"

همچنین کد زیر نیز افزوده شده است که مربوط به activity دوم است (باید همه activity ها در فایل AndroidManifest.xml ذکر شوند، وگرنه با ورود به آن activity ، یک force close ایجاد شده و برنامه بسته می شود) :

کد:
<activity
    android:name="dmf313.com.activity2"
    android:label="@string/app_name" >
</activity>

توصیه می کنم که آموزش ها را ابتدا با همان کدها اجرا کنید (دقیقا کدهای آموزش را به کار ببرید و فعلا به فکر تغییر نباشید) و سپس زمانی که نتیجه گرفتید و همه چیز درست بود، تغییرات مورد نظر خود را به آن اعمال نمایید. برای تعییر نام package برنامه، باید مطابق مبحث زیر عمل کنید (دارای یک روند خاص است، در غیر این صورت، پروژه اندروید خطا خواهد داد) :

http://www.kelidestan.com/android/android-25.php
 
سلام
اونجور که فهمیدم اول کار هستی
پیشنهادم اینه که سعی نکن فعلا اسم پکیج و ارایه ها رو تغییر بدی ..منظورم اینه که اول سعی کن بین کد های مختلف ارتباط برقرار کنی که مهم تر هستش
موفق باشی