بستن منو
۴۶۵
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
28
کار با Activity ها ، در برنامه نویسی اندروید
21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
22
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
12
ساخت EditText، در برنامه نویسی اندروید
6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
12
طراحی متریال (Material Design)، در برنامه نویسی اندروید
3
پخش موسیقی، در برنامه نویسی اندروید
5
نمایش انیمیشن، در برنامه نویسی اندروید
3
تغییر ویژگی های کلی برنامه اندروید
3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
28
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
5
بازی سازی، در برنامه نویسی اندروید
1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
2
عملیات های ریاضی در برنامه نویسی اندروید
12
کار با دوربین (camera) در برنامه نویسی اندروید
3
کار با action bar ، در برنامه نویسی اندروید
4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
4
کار با package ها ، در برنامه نویسی اندروید
2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
امنیت در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
3
سرویس ها (Service) در برنامه نویسی اندروید
9
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
9
AsyncTask در برنامه نویسی اندروید
2
آرایه ها (Arrays)، در برنامه نویسی اندروید
3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
6
رنگ ها (Colors)، در برنامه نویسی اندروید
3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
1
پروژه های اندروید Open Source کاربران کلیدستان
13
فروشگاه اندروید کلیدستان
1
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
9
مباحث عمومی در برنامه نویسی اندروید
47
×

دانلود فروشگاه اندروید کلیدستان

251

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

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

در این مبحث، قصد دارم که چگونگی ساخت جستجو در بین عنوان های برنامه اندروید را آموزش بدهم. مثلا فرض کنید که شما یک برنامه اندروید ساخته اید که دارای 200 قسمت می باشد و هر قسمت دارای یک عنوان خاص است، من به شما آموزش می دهم که چگونه یک صفحه مخصوص جستجو بسازید که ابتدا همه 200 قسمت را به صورت یک لیست نمایش بدهد و سپس، کاربر کلمات مورد نظر خود را وارد کند و آنگاه، در لیست، تنها عنوان هایی باقی بماند که کلمه مورد نظر کاربر، در آنها وجود دارد. کاربر با اشاره بر روی هر عنوان آموزشی، به صفحه مربوط به آن، هدایت خواهد شد.

کدها با این فرض نوشته شده اند که هیچ دو مبحثی، دارای عنوان برابر نیستند (داشتن عنوان برابر می تواند باعث باز شدن همزمان هر دو مبحث، هنگام اشاره کاربر بر روی نتایج شود. این مورد را به زودی تغییر خواهم داد تا کدها برای عنوان های برابر نیز مشکلی نداشته باشد، البته انتخاب عنوان برابر، زیاد جالب نیست ولی به هر حال، در آینده این مورد را نیز در نظر خواهم گرفت)

دسترسی به صفحه جستجو نیز به این صورت خواهد بود که در action bar ، یک عکس به شکل ذره بین قرار می دهیم و کاربر با اشاره بر روی آن، به صفحه جستجو هدایت می شود.

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

توصیه می کنم ابتدا فایل apk را که در آخر این آموزش قرار داده ایم، دانلود کرده و بر روی گوشی خود نصب کنید و با قسمت جستجوی آن کار کنید، اگر دقیقا همان چیزی بود که می خواهید، این آموزش را بخوانید.

در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan.com_Search می سازیم (نام package را برابر com.kelidestan.search انتخاب می کنیم. نام activity اصلی را برابر MainActivity انتخاب می کنیم و فایل xml متناظر آن را هم برابر activity_main قرار می دهیم).

برای این پروژه اندروید، به دو عکس نیاز داریم، یکی برای آیکون قسمت جستجو (به شکل ذره بین) و دیگری یک عکس پس زمینه که در پشت نتایج جستجو، نمایش داده می شود (برای زیباتر شدن این بخش). این دو عکس را می توانید از لینک زیر دانلود کنید تا در ادامه، از آنها استفاده نمایید :

بعد از اینکه پروژه ساخته شد، ابتدا فرض می کنیم که برنامه اندروید ما، قرار است که دارای 3 مبحث آموزشی باشد (این تعداد را به هر عدد دلخواه می توان افزایش داد، اما ما فعلا تعداد را برابر 3 قرار می دهیم تا روش کلی را توضیح بدهیم). بنابراین ما سه activity می سازیم، با نام های Subject_1 و Subject_2 و Subject_3 که هر کدام حاوی یک TextView است که در آن متنی دلخواه را می نویسیم (به عنوان محتوای آموزش) :

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

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

خوب اکنون باید در activity اصلی، که همان صفحه اول برنامه اندروید می باشد، سه دکمه بسازیم که ما را به سه مبحث آموزش مورد نظر ببرند. بنابراین در فایل activity_main.xml که همان فایل xml متناظر برای activity اصلی می باشد، باید سه دکمه تعریف کنیم :

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

ابتدا TextView درون این فایل را حذف می کنیم و سپس، سه دکمه را در آن قرار می دهیم :

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

کدهای فایل activity_main.xml ، به صورت زیر خواهد بود :


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 3" />

</LinearLayout>

اکنون فایل MainActivity.java که همان activity اصلی است را باز کرده و کدهای لازم برای آن سه دکمه را می نویسیم (تعریف activity هایی که با اشاره به دکمه ها، وارد آنها می شویم) :

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

پس از باز کردن فایل MainActivity.java ، کدهای آن به صورت زیر می باشد :


package com.kelidestan.search;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}

کدها را به صورت زیر تغییر می دهیم :


package com.kelidestan.search;

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 b1 = (Button) findViewById(R.id.button1);
        b1.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View arg0) {
                        startActivity(new Intent(MainActivity.this, Subject_1.class));
                }
        });
       
        Button b2 = (Button) findViewById(R.id.button2);
        b2.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View arg0) {
                        startActivity(new Intent(MainActivity.this, Subject_2.class));
                }
        });
       
        Button b3 = (Button) findViewById(R.id.button3);
        b3.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View arg0) {
                        startActivity(new Intent(MainActivity.this, Subject_3.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.main, menu);
                return true;
        }

}

اکنون باید در فایل strings.xml ، عبارت های مربوط به مباحث را بنویسیم (عنوان های مباحث که قرار است در آنها جستجو کنیم). فایل strings.xml را باز می کنیم :

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

در ابتدا، کدهای آن به صورت زیر می باشد :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Kelidestan.com_Search</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="title_activity_subject_1">Subject_1</string>
    <string name="title_activity_subject_2">Subject_2</string>
    <string name="title_activity_subject_3">Subject_3</string>
    <string name="title_activity_search">Search</string>

</resources>

خوب حالا باید عنوان های آموزش ها را تعریف کنیم و همچنین آنها را به شکلی مناسب برای قسمت جستجو تعریف کنیم. برای این منظور، کدهای زیر را می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Kelidestan.com_Search</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="title_activity_subject_1">Subject_1</string>
    <string name="title_activity_subject_2">Subject_2</string>
    <string name="title_activity_subject_3">Subject_3</string>
    <string name="title_activity_search">Search</string>
   
    <string name="subject_1">آموزش اول ( first )</string>
    <string name="subject_2">آموزش دوم ( second )</string>
    <string name="subject_3">آموزش سوم ( third )</string>
   
    <string-array name="search">
        <item>@string/subject_1</item>
        <item>@string/subject_2</item>
        <item>@string/subject_3</item>
    </string-array>
   
    <string name="search">جستجو</string>

</resources>

همان طور که مشاهده می کنید، سه رشته (string) برای سه عنوان آموزشی تعریف کرده ایم. همچنین یک string-array تعریف کرده ایم که در آن، به سه رشته مربوط به عنوان های آموزشی، ارجاع داده ایم (شما هم حتما ارجاع بدهید و نیازی نیست که دوباره هر عنوان را درون string-array بنویسید، زیرا بعدا در صورت تمایل برای تغییر یک عنوان، تنها کافی است که یک رشته را تغییر بدهید، نه دو رشته).

یک توصیه : بین کلمات و پرانتزها، فاصله قرار بدهید، زیرا چسبیدن کلمات به ابتدا یا انتهای پرانتز، می تواند باعث نمایش داده نشدن آن کلمات در نتایج جستجو شود. مثلا ما به جای عبارت (first)، عبارت ( first ) را نوشته ایم.

فایل subject_1.xml را باز کرده و کدهای آن را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Subject_1" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="@string/subject_1" />

</RelativeLayout>

بنابراین نمایش گرافیکی آن به صورت زیر خواهد بود (به همریختگی حروف فارسی مهم نیست) :

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

فایل subject_2.xml را باز کرده و کدهای آن را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Subject_1" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="@string/subject_2" />

</RelativeLayout>

بنابراین نمایش گرافیکی آن به صورت زیر خواهد بود (به همریختگی حروف فارسی مهم نیست) :

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

فایل subject_3.xml را باز کرده و کدهای آن را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Subject_1" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="@string/subject_3" />

</RelativeLayout>

بنابراین نمایش گرافیکی آن به صورت زیر خواهد بود (به همریختگی حروف فارسی مهم نیست) :

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

بنابراین سه activity مربوط به سه عنوان آموزشی را ساختیم (به گونه ای که بتوانیم آنها را از یکدیگر تشخیص بدهیم).

اکنون باید یک activity برای قسمت جستجوی برنامه اندروید بسازیم، بنابراین یک activity با نام Search می سازیم (فایل Search.java و فایل xml متناظر آن هم با نام search.xml) :

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

ابتدا به فایل search.xml می پردازیم. این فایل را باز کرده و سپس کدهای زیر را در آن می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/search_background"
    android:orientation="vertical" >
     
    <!-- Editext for Search -->
    <EditText android:id="@+id/inputSearch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="جستجو"
        android:inputType="textVisiblePassword"/>
 
    <!-- List View -->

    <ListView
        android:id="@+id/list_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
 
</LinearLayout>

دقت کنید که یک عکس با نام search_background را در فولدر drawable-hdpi کپی کرده ایم که در پس زمینه صفحه جستجو، نمایش داده می شود (برای زیباتر شدن این صفحه). بنابراین شکل گرافیکی فایل search.xml به صورت زیر خواهد بود :

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

اکنون باید یک فایل با نام list_item.xml بسازیم :

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

و کدهای آن را به صورت زیر می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
     
    <!-- Single ListItem -->
     
    <!-- Subject Name -->
    <TextView android:id="@+id/subject_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:textSize="16dip"
        android:textStyle="bold"/>    
 
</LinearLayout>

حال، فایل Search.java را باز می کنیم، کدهای آن به صورت زیر می باشد :


package com.kelidestan.search;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class Search extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.search);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.search, menu);
                return true;
        }

}

کدهای آن را به صورت زیر تغییر می دهیم :


package com.kelidestan.search;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class Search extends Activity {
       
        // List view
    private ListView lv;
     
    // Listview Adapter
    ArrayAdapter<String> adapter;
     
    // Search EditText
    EditText inputSearch;
     
     
    // ArrayList for Listview
    ArrayList<HashMap<String, String>> productList;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.search);
               
                // Listview Data
        String products[] = getResources().getStringArray(R.array.search);
         
        lv = (ListView) findViewById(R.id.list_view);
        inputSearch = (EditText) findViewById(R.id.inputSearch);
         
        // Adding items to listview
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.subject_name, products);
        lv.setAdapter(adapter);
         
        /**
         * Enabling Search Filter
         * */

        inputSearch.addTextChangedListener(new TextWatcher() {
             
            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                // When user changed the Text
                Search.this.adapter.getFilter().filter(cs);  
            }
             
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
                // TODO Auto-generated method stub
                 
            }
             
            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub                          
            }
        });
       
        // after click
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, final View view,
                int position, long id) {
                       
                final String item = lv.getItemAtPosition(position).toString();
                int total_number = 3;
                for(int x = 1; x < total_number+1; x = x+1) {
                        String SubjectName = "subject_" + String.valueOf(x);
                        int resID = getResources().getIdentifier(SubjectName, "string", getPackageName());
                        String subject = getResources().getString(resID);
                       
                        if(item.equals(subject)) {
                                String StringClass = "com.kelidestan.search.Subject_" + String.valueOf(x);
                                Class<?> c = null;
                                if(StringClass != null) {
                                    try {
                                        c = Class.forName(StringClass);
                                    } catch (ClassNotFoundException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                }
                                Intent intent = new Intent(Search.this, c);
                                startActivity(intent);
                        }
                }
               
            }

          });
        }
       
        @Override
        public void onResume() {
            super.onResume();
            adapter.notifyDataSetChanged();
        }

       

}

اگر تعداد مباحث برنامه اندروید شما، مثلا برابر 200 مبحث باشد، باید متغیر total_number در کدهای بالا را به جای 3 ، برابر 200 تعریف کنید (عدد 3 را باید به تعداد مبحث مورد نظر خود تغییر بدهید).

همچنین به این خط از کدها توجه کنید :


String StringClass = "com.kelidestan.search.Subject_" + String.valueOf(x);

خط بالا برای برنامه اندروید دارای package با نام com.kelidestan.search می باشد و اگر شما می خواهید از این کدها، برای برنامه اندروید خود استفاده کنید، باید نام package مورد نظر خود را در این خط بنویسید. دقت کنید که ما، پیشوند موضوعات را به صورت subject_ در نظر گرفتیم (که بعد از آن، شماره آموزش درج می شود)، بنابراین اگر پیشوند انتخابی شما فرق دارد، این پیشوند را نیز باید در این خط تغییر بدهید.

همه قسمت های برنامه را ساختیم، اما یک بخش مهم باقی مانده است و آن قرار دادن دکمه ای در action bar است که بتوانیم توسط آن، وارد صفحه جستجو بشویم. ابتدا یک عکس (که قرار است در action bar نمایش داده شود) را با نام search ، در فولدر drawable-hdpi از پروزه اندروید، کپی کنیم :

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

سپس فایلی با نام menu.xml می سازیم (در مسیر نمایش داده شده در تصویر زیر) :

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

کدهای فایل menu.xml را به صورت زیر می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/itemSearch"
        android:icon="@drawable/search"
        android:showAsAction="ifRoom|withText"
        android:title="@string/search">
    </item>
</menu>

خوب حالا برای اینکه در تمامی activity ها، در action bar ، آیکون مربوط به قسمت جستجو را داشته باشیم، باید فایل java مربوط به تک تک activity ها را باز کرده و onCreateOptionsMenu() و همچنین onOptionsItemSelected() را برای آن بنویسیم. ابتدا ببینید که آیا قبلا در activity ، کد مربوط به onCreateOptionsMenu() و onOptionsItemSelected() نوشته شده است یا خیر و اگر نوشته شده بود، باید آن را باز نویسی کنید. مثلا برای activity اصلی که فایل آن دارای نام MainActivity.java می باشد، کد زیر را می نویسیم :


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}
       
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.itemSearch:
        startActivity(new Intent(MainActivity.this, Search.class));
        return true;
    default:
        return true;
    }  
}

برای اینکه محل این کد را متوجه شوید، کدهای نهایی فایل MainActivity.java را در زیر نمایش داده ایم :


package com.kelidestan.search;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
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 b1 = (Button) findViewById(R.id.button1);
        b1.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View arg0) {
                        startActivity(new Intent(MainActivity.this, Subject_1.class));
                }
        });
       
        Button b2 = (Button) findViewById(R.id.button2);
        b2.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View arg0) {
                        startActivity(new Intent(MainActivity.this, Subject_2.class));
                }
        });
       
        Button b3 = (Button) findViewById(R.id.button3);
        b3.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View arg0) {
                        startActivity(new Intent(MainActivity.this, Subject_3.class));
                }
        });
        }
       
        @Override
          public boolean onCreateOptionsMenu(Menu menu) {
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
       
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                case R.id.itemSearch:
                        startActivity(new Intent(MainActivity.this, Search.class));
                        return true;
                default:
                        return true;
                }      
        }

}

فایل Subject_1.java را باز کرده و کدهای مربوط به onCreateOptionsMenu() و همچنین onOptionsItemSelected() را در آن می نویسیم، بنابراین کدهای نهایی این فایل، به صورت زیر خواهد بود :


package com.kelidestan.search;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Subject_1 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.subject_1);
        }

        @Override
          public boolean onCreateOptionsMenu(Menu menu) {
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
       
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                case R.id.itemSearch:
                        startActivity(new Intent(Subject_1.this, Search.class));
                        return true;
                default:
                        return true;
                }      
        }

}

فایل Subject_2.java را باز کرده و کدهای مربوط به onCreateOptionsMenu() و همچنین onOptionsItemSelected() را در آن می نویسیم، بنابراین کدهای نهایی این فایل، به صورت زیر خواهد بود :


package com.kelidestan.search;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Subject_2 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.subject_2);
        }

        @Override
          public boolean onCreateOptionsMenu(Menu menu) {
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
       
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                case R.id.itemSearch:
                        startActivity(new Intent(Subject_2.this, Search.class));
                        return true;
                default:
                        return true;
                }      
        }

}

فایل Subject_3.java را باز کرده و کدهای مربوط به onCreateOptionsMenu() و همچنین onOptionsItemSelected() را در آن می نویسیم، بنابراین کدهای نهایی این فایل، به صورت زیر خواهد بود :


package com.kelidestan.search;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Subject_3 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.subject_3);
        }

        @Override
          public boolean onCreateOptionsMenu(Menu menu) {
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
       
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                case R.id.itemSearch:
                        startActivity(new Intent(Subject_3.this, Search.class));
                        return true;
                default:
                        return true;
                }      
        }

}

فایل Search.java را باز کرده و کدهای مربوط به onCreateOptionsMenu() و همچنین onOptionsItemSelected() را در آن می نویسیم، بنابراین کدهای نهایی این فایل، به صورت زیر خواهد بود :


package com.kelidestan.search;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class Search extends Activity {
       
        // List view
    private ListView lv;
     
    // Listview Adapter
    ArrayAdapter<String> adapter;
     
    // Search EditText
    EditText inputSearch;
     
     
    // ArrayList for Listview
    ArrayList<HashMap<String, String>> productList;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.search);
               
                // Listview Data
        String products[] = getResources().getStringArray(R.array.search);
         
        lv = (ListView) findViewById(R.id.list_view);
        inputSearch = (EditText) findViewById(R.id.inputSearch);
         
        // Adding items to listview
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.subject_name, products);
        lv.setAdapter(adapter);
         
        /**
         * Enabling Search Filter
         * */

        inputSearch.addTextChangedListener(new TextWatcher() {
             
            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                // When user changed the Text
                Search.this.adapter.getFilter().filter(cs);  
            }
             
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
                // TODO Auto-generated method stub
                 
            }
             
            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub                          
            }
        });
       
        // after click
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, final View view,
                int position, long id) {
                       
                final String item = lv.getItemAtPosition(position).toString();
                int total_number = 3;
                for(int x = 1; x < total_number+1; x = x+1) {
                        String SubjectName = "subject_" + String.valueOf(x);
                        int resID = getResources().getIdentifier(SubjectName, "string", getPackageName());
                        String subject = getResources().getString(resID);
                       
                        if(item.equals(subject)) {
                                String StringClass = "com.kelidestan.search.Subject_" + String.valueOf(x);
                                Class<?> c = null;
                                if(StringClass != null) {
                                    try {
                                        c = Class.forName(StringClass);
                                    } catch (ClassNotFoundException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                }
                                Intent intent = new Intent(Search.this, c);
                                startActivity(intent);
                        }
                }
               
            }

          });
        }
       
        @Override
        public void onResume() {
            super.onResume();
            adapter.notifyDataSetChanged();
        }
       
        @Override
          public boolean onCreateOptionsMenu(Menu menu) {
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
       
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                case R.id.itemSearch:
                        startActivity(new Intent(Search.this, Search.class));
                        return true;
                default:
                        return true;
                }      
        }


}

خوب، ساخت پروژه اندروید تمام شد و اکنون می توانید آن را با روش دلخواه خود، تست کنید. من برنامه اندروید را بر روی گوشی نصب می کنم، صفحه اول برنامه به صورت زیر می باشد :

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

بر روی آیکون به شکل ذره بین، در action bar کلیک می کنیم تا صفحه جستجو باز شود :

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

حالا عبارت ((آموزش اول)) را می نویسیم و مشاهده می کنیم که تنها مبحث دارای این عنوان، در لیست باقی می ماند (اگر بر روی گزینه کلیک کنیم، به صفحه آن منتقل می شویم) :

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

جستجو را برای کلمات انگلیسی نیز تست می کنیم، برای این منظور، حرف f را می نویسیم که باعث می شود تنها مبحثی که کلمه first در آن به کار رفته، در لیست باقی بماند (باز هم تذکر می دهم که هنگام تعریف عنوان ها، کلمات را به علامت های پرانتز نچسبانید و فاصله بین آنها قرار دهید) :

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

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

فایل های پروژه اندروید را می توانید از لینک های زیر دریافت کنید :

توضیحات بیشتر در مورد کدها :

در ادامه به چند نکته در مورد کدها اشاره خواهیم کرد.

نکته

به بخش زیر از کدهای فایل Search.java توجه کنید :


String products[] = getResources().getStringArray(R.array.search);

همان طور که مشاهده می کنید، آرایه ای از رشته ها (string) با نام products ساخته ایم. عملیات جستجو، درون عناصر این آرایه صورت می گیرد. شیوه ای که من برای قرار دادن متن ها (عنوان ها) به کار بردم، ابتدا تعریف عنوان ها در آرایه ای در فایل strings.xml و سپس قرار دادن آن در آرایه products می باشد. شما می توانید آرایه products را به هر شیوه دلخواه تعریف کنید. مثلا می توانید متن های مختلف را از یک سری فایل متنی فراخوانی کرده و سپس در عناصر مختلف آرایه products قرار بدهید تا جستجو در بین آن متن ها صورت گیرد. بنابراین تنها تعریف آرایه رشته ای products مهم است و شیوه این کار، بستگی به ساختار برنامه اندروید شما دارد.

نکته

به بخش زیر از کدهای فایل Search.java توجه کنید :


// after click
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, final View view,
                        int position, long id) {
                         
    final String item = lv.getItemAtPosition(position).toString();
    int total_number = 3;
    for(int x = 1; x < total_number+1; x = x+1) {
        String SubjectName = "subject_" + String.valueOf(x);
        int resID = getResources().getIdentifier(SubjectName, "string", getPackageName());
        String subject = getResources().getString(resID);
                         
        if(item.equals(subject)) {
            String StringClass = "com.kelidestan.search.Subject_" + String.valueOf(x);
            Class<?> c = null;
            if(StringClass != null) {
                try {
                    c = Class.forName(StringClass);
                } catch (ClassNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            Intent intent = new Intent(Search.this, c);
            startActivity(intent);
        }
    }
                 
}

});
}

این بخش از کدها، تعیین کرده است که اگر کاربر بر روی یکی از نتایج جستجو اشاره کرد، چه اتفاقی بیفتد. این بخش نیز باید برای ساختارهای مختلف، به طور متفاوت تعریف شود و کدنویسی آن کاملا وابسته به ساختار برنامه اندروید می باشد.

کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربر، مجاز است) (کپی برداری توسط سایر وب سایت ها = حرام) (بیشتر بدانید)

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 3 3 0
Naqib Shayea
۱۳۹۵/۰۵/۱۸
۱۷:۳۱

میشه یه آموزش برای جستجو دیتابیس آنلاین یا MYSQL بسازین که مثلا از گوشی یه متن رو بفرستین و بعد بر اساس اون یک سری داده از سرور بگیرین

admin
۱۳۹۵/۰۵/۲۵
۰۹:۲۸

سلام.
دریافت یک سری داده از صفحات PHP موجود در سرور اینترنتی را در مباحث زیر شرح داده ایم :

کلید شماره 312

کلید شماره 313

بنابراین تنها می ماند اینکه چگونه در صفجه PHP ، نتایج جستجو از پایگاه داده MySQL را دریافت و در خروجی نمایش بدهیم (برگردانیم). شما عبارت جستجو را به صفحه PHP می فرستید و در آن، یک query برای جدول (table) شامل اطلاعات اجرا خواهد شد که در آن query ، باید کلمه LIKE را به کار ببرید (برای یافتن تمامی ردیف های از جدول که آن عبارت در آنها وجود دارد). سپس نتایج برگردانده شده از پایگاه داده را به شکل json در خروجی صفحه PHP برمی گردانید تا برنامه اندروید بتواند بر اساس آن مباحثی که ذکر شد، اطلاعات را دریافت نموده و در یک ListView (یا RecyclerView) نمایش بدهد.
خروجی صفحه PHP را می توانید توسط یک صفحه HTML شامل تگ form ، در مرورگر اینترنت خود چک کنید (تا از صحت خروجی آن اطمینان پیدا کنید).

Flower

مسلم
۱۳۹۵/۰۸/۱۵
۱۳:۰۰

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

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com

دسترسی به اطلاعات دامنه developer.android.com بر روی سایت کلیدستان (دور زدن تحریم گوگل) :

بستن منو
۴۶۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید - مجموعه Android Application Development - از thenewboston.com - بر اساس Eclipse (یا ADT Bundle)
200
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید برای مبتدیان - مجموعه Android App Development for Beginners - از thenewboston.com - بر اساس Android Studio
77
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید (Android) برای مبتدیان - مجموعه Android Tutorial for Beginners
107
مجموعه ویدئوهای آموزشی طراحی متریال (Material) در اندروید - مجموعه 5 Android Material Design Tutorial
59
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
2
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
6
ساخت دکمه (Button) ، در برنامه نویسی اندروید
0
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
4
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
1
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
3
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
1
بستن منو
۸۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
دسترسی سریع به دسته کلیدها :

کار با Activity ها ، در برنامه نویسی اندروید طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید پردازش تصویر، در برنامه نویسی اندروید نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید ساخت EditText، در برنامه نویسی اندروید کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید بازی سازی، در برنامه نویسی اندروید به اشتراک گذاری (share)، در برنامه نویسی اندروید نمایش پیام به کاربر، در برنامه نویسی اندروید ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید عملیات های ریاضی در برنامه نویسی اندروید Fragment ها در برنامه نویسی اندروید Thread ها در برنامه نویسی اندروید سرویس ها (Service) در برنامه نویسی اندروید حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید مباحث عمومی در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید
1
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
5
عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید
1
نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید
1
پردازش تصویر، در برنامه نویسی اندروید
1
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
5
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
2
ساخت EditText، در برنامه نویسی اندروید
1
کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید
2
نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید
3
گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید
17
بازی سازی، در برنامه نویسی اندروید
16
به اشتراک گذاری (share)، در برنامه نویسی اندروید
1
نمایش پیام به کاربر، در برنامه نویسی اندروید
2
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
1
عملیات های ریاضی در برنامه نویسی اندروید
1
Fragment ها در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
2
سرویس ها (Service) در برنامه نویسی اندروید
1
حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
16
بستن منو
۲۴
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی java
14
انواع متغیرها و تبدیل متغیرها در java
2
رشته ها (string) در java
1
اعداد در java
4
مباحث عمومی در java
3
بستن منو
۲۶۲
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی Java برای مبتدیان - مجموعه Java (Beginner) Programming Tutorials - از thenewboston.com
87
مجموعه ویدئوهای آموزشی برنامه نویسی Java (سطح متوسط) - مجموعه Java (Intermediate) Tutorials - از thenewboston.com
59
مجموعه ویدئوهای آموزشی Java - مجموعه Learn Java
24
مجموعه ویدئوهای آموزشی طراحی GUI در Java ، با استفاده از JavaFX - مجموعه JavaFX Java GUI Design Tutorials - از thenewboston.com
35
مجموعه ویدئوهای آموزشی توسعه بازی با استفاده از Java - مجموعه Java Game Development Tutorials - از thenewboston.com
36
مجموعه ویدئوهای آموزشی توسعه بازی در Java ، با استفاده از Slick - مجموعه Java Game Development with Slick - از thenewboston.com
21
بستن منو
۱۹
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
آموزش کامل یونیتی (Unity) (بازی سازی)
14
آموزش یونیتی (Unity) - سطح متوسط
2
پرداخت درون برنامه ای، در یونیتی (Unity)
1
یونیتی (Unity) و برنامه نویسی اندروید
1
واقعیت مجازی در یونیتی (Unity)
1

فروشگاه های اندروید ایرانی

فروشگاه های ایرانی برنامه های اندروید که می توانید برنامه های اندروید خود را در آنها بفروش بگذارید (به ترتیب نام) :



*** در صورت تاسیس یک فروشگاه ایرانی جدید، به ما اطلاع بدهید تا در لیست بالا قرار داده شود.

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)
موضوع تاریخ و زمان نویسنده آخرین ارسال تعداد پاسخ انجمن
چیدمان باتن ها (Buttons) و تغییر اندازه آنها در صفحه نمایش های مختلف (در اندروید)
امروز, ۰۹:۰۹ ب.ظ
foad.pezeshkian
mrazhdari
16 مشکلات در برنامه نویسی اندروید
لینک دادن از وب به اندروید
امروز, ۰۷:۳۷ ب.ظ
hamrahna
hamrahna
4 مشکلات در برنامه نویسی اندروید
مشکل در ارسال مقدار در اکتیویتی دیگر
امروز, ۰۶:۲۹ ب.ظ
af94
Hossein8867
1 مشکلات در برنامه نویسی اندروید
مشکل در استفاده از دیتابیس خارجی
امروز, ۰۱:۴۷ ب.ظ
saeedfozol
saeedfozol
3 مشکلات در برنامه نویسی اندروید
جستجو در ListActivity
دیروز, ۰۹:۱۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
مشکل نصب اندروید استدیو
۱۳۹۵/۰۹/۱۲, ۱۱:۳۲ ق.ظ
mohsenfirewall
mohsenfirewall
0 مشکلات در برنامه نویسی اندروید
راهنمایی در مورد Notifications
۱۳۹۵/۰۹/۱۱, ۱۲:۳۳ ب.ظ
dibdab
dibdab
0 برنامه نویسی اندروید
کاهش در آمد توسعه دهندگان از بازار و تبلیغات عدد
۱۳۹۵/۰۹/۰۹, ۰۲:۲۶ ق.ظ
alizzz
jafari.h9574
3 فروشگاه های برنامه های اندروید (ایرانی و خارجی)
مشکل در اینتنت های بازار
۱۳۹۵/۰۹/۰۸, ۰۱:۳۶ ق.ظ
sabanetaria
dibdab
2 برنامه نویسی اندروید
ساخت ویدئو پلیر در اندروید
۱۳۹۵/۰۹/۰۷, ۰۷:۰۴ ب.ظ
ehsansalehi2001
dibdab
1 پخش فایل های صوتی و تصویری، در برنامه نویسی اندروید
پرداخت درون برنامه ای بازار در onDestroy
۱۳۹۵/۰۹/۰۶, ۰۶:۵۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
استخراج کننده فایل نصبی apk
۱۳۹۵/۰۹/۰۵, ۰۶:۵۰ ب.ظ
kama90
kama90
0 مشکلات در برنامه نویسی اندروید
سوال درباره surfaceView ؟
۱۳۹۵/۰۹/۰۵, ۱۱:۱۷ ق.ظ
ilalia
ilalia
0 مشکلات در برنامه نویسی اندروید
سیاه نشان دادن الرت دیالوگ در اندروید 6
۱۳۹۵/۰۹/۰۳, ۱۱:۰۴ ب.ظ
armin20013
armin20013
1 مشکلات در برنامه نویسی اندروید
موقعیت آیتم منو
۱۳۹۵/۰۹/۰۱, ۰۹:۳۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
نمایش درختی اطلاعات دیتابیس
۱۳۹۵/۰۹/۰۱, ۱۰:۲۱ ق.ظ
amard
amard
0 ساخت ListView در برنامه نویسی اندروید
کار با ریسایلکرویو
۱۳۹۵/۰۸/۳۰, ۰۲:۱۳ ق.ظ
hamidreza2000
hamidreza2000
0 مشکلات در برنامه نویسی اندروید
اعمال یک انیمیشن در زمان کلیک بر روی آیتم های یک gridview
۱۳۹۵/۰۸/۲۹, ۰۳:۵۰ ب.ظ
sonic
sonic
0 مشکلات در برنامه نویسی اندروید
همکاری در تکمیل پروژه اندروید
۱۳۹۵/۰۸/۲۹, ۰۳:۴۶ ب.ظ
seven7up
seven7up
0 مباحث عمومی در برنامه نویسی اندروید
کلیک بر روی آیتم های یک gridview
۱۳۹۵/۰۸/۲۷, ۰۵:۰۱ ب.ظ
sonic
sonic
4 مشکلات در برنامه نویسی اندروید
سوال در مورد اینتنت ها
۱۳۹۵/۰۸/۲۵, ۰۸:۰۴ ب.ظ
dibdab
dibdab
0 تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی
ذخیره صدا در دیتابیس
۱۳۹۵/۰۸/۲۴, ۰۱:۵۵ ب.ظ
alizzz
alizzz
2 پایگاه داده SQLite در برنامه نویسی اندروید
ذخیره متغیر و دریافت در اکتیویتی دیگر
۱۳۹۵/۰۸/۲۴, ۱۲:۴۲ ب.ظ
sami
sami
0 مشکلات در برنامه نویسی اندروید
مشکل در اپلود برنامه در کافه بازار (بسته نباید با کلید دیباگ امضا (Sign) شده باشد)
۱۳۹۵/۰۸/۲۳, ۰۸:۴۶ ب.ظ
bisi
barmoudeh
4 برنامه نویسی اندروید
روبات من
۱۳۹۵/۰۸/۲۲, ۱۱:۵۵ ب.ظ
dost-67
dost-67
0 مباحث عمومی در برنامه نویسی اندروید
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی اندروید)

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)