3245

مشکل در طراحی برنامه اندروید

10 ارسال در این موضوع قرار دارد

سلام

من در حال یادگیری برنامه نویسی اندروید هستم،

و از طریق اموزش زیر یک برنامه رو دارم مینویسم:

http://goo.gl/ONulua

حالا من این کدهایی که برنامه داده رو پشت سر هم میزارم، اما جواب نمیده، چطوری باید اینها رو بچینم؟

We want to replace the “Hello AndroidPIT!” with our RSS Feed. In order to do this, we to give [b]TextView[/b] an identifier on what we want it to show. In this case, the android: id attribute will do the trick:
      android:id="@+id/rss_feed"
      android:text="@string/hello_world"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" />After we provide the [b]Textview [/b]with an [b]id[/b], we have to find the ones we want to use and an add them to our [b]Placeholder fragment[/b] segment. For this purpose we use the method [b]findViewById[/b]. It should like this within the [b]onCreateView[/b] method:
@Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) {
          View rootView = inflater.inflate(R.layout.fragment_main, container, false);
          mRssFeed = (TextView) rootView.findViewById(R.id.rss_feed);
          return rootView;
      }To retrieve the RSS feed at the start of the app, we need the following [b]onStart[/b] method:
@Override
      public void onStart() {
          super.onStart();
          InputStream in = null;
          try {
              URL url = new URL("http://www.androidpit.com/feed/main.xml");
              HttpURLConnection conn = (HttpURLConnection) url.openConnection();
              in = conn.getInputStream();
              ByteArrayOutputStream out = new ByteArrayOutputStream();
              byte[] buffer = new byte[1024];
              for (int count; (count = in.read(buffer)) != -1; ) {
                  out.write(buffer, 0, count);
              }
              byte[] response = out.toByteArray();
              String rssFeed = new String(response, "UTF-8");
              mRssFeed.setText(rssFeed);
          } catch (IOException e) {
              e.printStackTrace();
          } finally {
              if (in != null) {
                  try {
                      in.close();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
          }
      }If you don’t understand the source code, don’t worry 
and just copy and paste what we’ve done. To understand it in depth, 
you’ll need to take up Java and learn the programming language.
If you try running the app right now, it will begin to compile but will crash at some point.
In app development, it is necessary that you can learn how to deal with crashes and what exactly they mean. If you open [b]logcat[/b]
at the same time as you run your application, it will log all the 
messages and error messages output by the application. If you do it 
after running what we’ve done so far, you should have the following 
error message:
com.rockylabs.androidpitrss E/AndroidRuntime﹕ FATAL EXCEPTION: main
   Process: com.rockylabs.androidpitrss, PID: 14367
   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rockylabs.androidpitrss/com.rockylabs.androidpitrss.MainActivity}:
android.os.NetworkOnMainThreadExceptionSo,
what happened? Your application tried in the main thread to access the 
Internet, however, if the request takes too long, the application stops 
responding and an error message is issued. To avoid this, Android has 
been rigged to crash instead of hang indefinitely.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خوب شما کاملا داری اشتباه عمل می کنی. تو برنامه نویسی اندروید کدهای برنامه به دو دسته تقسیم میشن: کدهای ظاهر برنامه (UI یا xml) و کدهای جاوا که در واقع عملکرد UI رو مشخص می کنه. تو نمونه کد شما، این طور که من دارم می بینم این دو تا با هم غاطی شدن. شما باید این دو تا رو از هم جدا کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خوب شما کاملا داری اشتباه عمل می کنی. تو برنامه نویسی اندروید کدهای برنامه به دو دسته تقسیم میشن: کدهای ظاهر برنامه (UI یا xml) و کدهای جاوا که در واقع عملکرد UI رو مشخص می کنه. تو نمونه کد شما، این طور که من دارم می بینم این دو تا با هم غاطی شدن. شما باید این دو تا رو از هم جدا کنید.

سپاس از شما بابت راهنمایی،

ممکنه کمی راهنمایی کنید که بتونم اینها رو از هم جدا کنم؟

لطفا پیغام خصوصیتون رو هم چک کنید

ارادتمند:heart:

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز فکر کنم به زبان انگلیسی زیاد تسلط ندارین، چون در قسمت Description آموزشتون موارد رو کمی توضیح داده!

توصیه میکنم اگر در اول راه هستید و به زبان انگلیسی هم تسلط کافی را ندارید از آموزش های فارسی شروع کنید

آموزش های فارسی زیادی در این 1-2 سال اخیر در اینترنت به وفور یافت میشن

موفق و سربلند باشید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز فکر کنم به زبان انگلیسی زیاد تسلط ندارین، چون در قسمت Description آموزشتون موارد رو کمی توضیح داده!

توصیه میکنم اگر در اول راه هستید و به زبان انگلیسی هم تسلط کافی را ندارید از آموزش های فارسی شروع کنید

آموزش های فارسی زیادی در این 1-2 سال اخیر در اینترنت به وفور یافت میشن

موفق و سربلند باشید

به زبان انگلیسی تسلط مناسبی دارم

اما برنامه نویسی دونستن زبان انگلیسی یکی از بخش هاش هست، برای همین است که کمکی از دوستان خواستم،

میشه بگید در قسمت description چی دیدی که در مورد جدا کردن UI از XML توضیح داده باشه؟

ممنون از شما و description شما :P

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز

باید یه اکتیویتی تو برنامه ایجاد کنی. با ایجاد اکتیویتی یه فایل با پسوند xml. و یه فایل با پسوند java. ایجاد میشه. باید کدهای مربوط به xml رو تو فایل xml. و کدهای مربوط به جاوا رو توی فایل java. قرار بدی، به عنوان مثال به این شکل:

کدهای xml:

android:id="@+id/rss_feed"

android:text="@string/hello_world"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

کدهای java:

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment_main, container, false);

mRssFeed = (TextView) rootView.findViewById(R.id.rss_feed);

return rootView;

}

@Override

public void onStart() {

super.onStart();

InputStream in = null;

try {

URL url = new URL("http://www.androidpit.com/feed/main.xml");

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

in = conn.getInputStream();

ByteArrayOutputStream out = new ByteArrayOutputStream();

byte[] buffer = new byte[1024];

for (int count; (count = in.read(buffer)) != -1; ) {

out.write(buffer, 0, count);

}

byte[] response = out.toByteArray();

String rssFeed = new String(response, "UTF-8");

mRssFeed.setText(rssFeed);

} catch (IOException e) {

e.printStackTrace();

} finally {

if (in != null) {

try {

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از دوستان کی میتونه با پرداخت هزینه این برنامه رو بهم آموزش بده؟

دقیقا ساختن همین برنامه، توسط همین آموزش دقیقا، نه زبون جاوا رو

با تشکر

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از دوستان کی میتونه با پرداخت هزینه این برنامه رو بهم آموزش بده؟

دقیقا ساختن همین برنامه، توسط همین آموزش دقیقا، نه زبون جاوا رو

با تشکر

زکات علم به نشر آن است! 

شما یه ایمیل به بنده بزن ! در حد توانم کمک میکنم! 

mr.smf8@gmail.com

من گشتم تو انجمن صفحه قوانین پیدا نکردم ! اگه درج ایمیل خلافه ! من خلاف کار نیستم همینجا پیام بده!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از دوستان کی میتونه با پرداخت هزینه این برنامه رو بهم آموزش بده؟

دقیقا ساختن همین برنامه، توسط همین آموزش دقیقا، نه زبون جاوا رو

با تشکر

زکات علم به نشر آن است! 

شما یه ایمیل به بنده بزن ! در حد توانم کمک میکنم! 

mr.smf8@gmail.com

من گشتم تو انجمن صفحه قوانین پیدا نکردم ! اگه درج ایمیل خلافه ! من خلاف کار نیستم همینجا پیام بده!

سلام

براتون ایمیل فرستادم.

با تشکر

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری