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

کپی کردن یک فایل از پوشه raw در پروژه اندروید به درون پوشه ای در حافظه خارجی (External Storage)، در برنامه نویسی اندروید

فرض کنید که یک فایل دلخواه (هر نوع فایلی) را درون پوشه raw از پروژه اندروید داشته باشیم و بخواهیم که آن را به درون پوشه ای درون حافظه خارجی (External Storage) کپی کنیم. مثلا فرض می کنیم که فایل مورد نظرمان، دارای نام my_file.mp3 می باشد :

کپی کردن یک فایل از پوشه raw در پروژه اندروید به درون پوشه ای در حافظه خارجی (External Storage)، در برنامه نویسی اندروید

با فرض اینکه بخواهیم فایل با نام جدید defaultName.mp3 و در پوشه ای با نام myFolder در حافظه خارجی (External Storage) کپی شود، کدهای زیر را می نویسیم :


File root = android.os.Environment.getExternalStorageDirectory();
String folderName = "/myFolder";
File dir = new File (root.getAbsolutePath() + folderName);
if(!dir.exists()) {                                
    dir.mkdirs(); // build directory
}
               
InputStream in = getResources().openRawResource(R.raw.my_file);
String filename = "defaultName.mp3";
File f = new File(root + folderName , filename);
if(!f.exists()){
    try {
        OutputStream out = new FileOutputStream(f);
        byte[] buffer = new byte[1024];
        int len;
        while((len = in.read(buffer, 0, buffer.length)) != -1){
            out.write(buffer, 0, len);
        }
        in.close();
        out.close();
    } catch (FileNotFoundException e) {
        //
    } catch (IOException e) {
        //
    }
}

دقت شود که در صورت کدنویسی برای فرآیندی که نیاز به دسترسی به حافظه خارجی (External Storage) دارد، باید کدهای زیر درون AndroidManifest.xml نوشته شود (برای اجازه دادن برای نوشتن در حافظه خارجی و یا خواندن از حافظه خارجی) :


<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

برای درک موقعیت قرارگیری کد بالا در فایل AndroidManifest.xml از پروژه اندروید، کدهایی را به عنوان مثالی از کدهای فایل AndroidManifest.xml در زیر ذکر کرده ایم :


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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
   
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

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

</manifest>

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

با استفاده از کد زیر، آدرس مسیر حافظه خارجی (external storage) را به دست آورده ایم ( کلید شماره 279 ) :


File root = android.os.Environment.getExternalStorageDirectory();

نام پوشه ای که باید فایل در آن کپی شود را در خط زیر تعیین کرده ایم :


String folderName = "/myFolder";

با کد زیر، مسیر کامل پوشه را به صورت متغیر File خواهیم داشت :


File dir = new File (root.getAbsolutePath() + folderName);

با کدهای زیر، تعیین کرده ایم که اگر پوشه مورد نظر وجود ندارد، ساخته شود ( کلید شماره 280 ) :


if(!dir.exists()) {                                
    dir.mkdirs(); // build directory
}

فایلی که قصد داریم کپی شود را در خط زیر مشخص کرده ایم (از پوشه raw) :


InputStream in = getResources().openRawResource(R.raw.my_file);

و نام مورد نظرمان برای فایلی که از آن کپی می شود (ساخته می شود) را در خط زیر از کدها مشخص کرده ایم :


String filename = "defaultName.mp3";

و مسیر کامل آن را به صورت زیر، در یک متغیر از نوع File مشخص کرده ایم :


File f = new File(root + folderName , filename);

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


if(!f.exists()){
    try {
        OutputStream out = new FileOutputStream(f);
        byte[] buffer = new byte[1024];
        int len;
        while((len = in.read(buffer, 0, buffer.length)) != -1){
            out.write(buffer, 0, len);
        }
        in.close();
        out.close();
    } catch (FileNotFoundException e) {
        //
    } catch (IOException e) {
        //
    }
}

در کدهای فوق، از try و catch استفاده شده است که به منظور عدم ایجاد Force Close (بسته شدن برنامه) هنگام مواجه شدن با خطا به کار می رود ( کلید شماره 345 ).

نویسنده علیرضا گلمکانی
شماره کلید 848
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 11 11 0
tirstudio
۱۳۹۵/۰۴/۲۱
۱۹:۵۹

خیلی ممنون ولی چطوری از حافظه خارجی به خارجی بفرستم؟

sepehr
۱۳۹۵/۰۴/۲۳
۱۸:۱۲

سلام
من دارم با xamarin می نویسم
اینAndroidManifest.xml تو زمارین همون Strings.xml میشه دیگه؟ 

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

سلام.
بنده تاکنون با xamarin کار نکردم، اما فایل های AndroidManifest.xml و Strings.xml ، کاملا متفاوت هستند و برای دو هدف مختلف به کار می روند. 
در AndroidManifest.xml ، برخی ویژگی های اصلی برنامه اندروید را تعریف می کنیم (مثلا لیست Activity ها و Service ها و permission ها و ... در آن ذکر می شود)، اما در فایل Strings.xml ، رشته های (متن های - Strings) مورد نظرمان برای برنامه اندروید را تعریف می کنیم که بعدا در کدهای پروژه اندروید، به آنها ارجاع داده می شود.


Flower

sepehr
۱۳۹۵/۰۴/۲۶
۱۰:۴۴

سلام
مرسی از پاسخ که به من دادید
می خوام یک برنامه را از داخل برنامه دیگر نصب کنم این دستوراتی که شما گذاشته اید عالی بود و نکته این که حال اگر بخوام از من سوال نکنه و من بدون پرسیدن از apk بعدی نصب کنم از چه دستوری باید استفاده کنم؟
یعنی اگر apk دیگر داخل برنامه اجرا کردن مراحل نصب نپرسه مستقیم با هموم بار اول که اجازه داده شد نصب بشه؟
با تشکر

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

سلام.
معمولا فایل apk در برنامه اصلی قرار می گیرد و بعد از نصب برنامه اصلی، فایل apk را با یک سری کد در حافظه خارجی (External Storage) کپی کرده و سپس آن را اجرا می کنند تا صفحه نصب به کاربر نمایش داده شود. بنابراین در حالت عادی، حتما کاربر باید فایل apk را به صورت دستی نصب کند (اجازه وی، ضروری می باشد).
اگر گوشی root شده باشد، امکان دارد که با یک سری کد، فایل apk بدون اجازه کاربر نصب شود (اما برای گوشی های root نشده عمل نمی کند) (اینگونه کدها را می توانید با جستجو در اینترنت بیابید).

لطفا سوالات خود را در مباحث مرتبط مطرح کنید. همچنین سوالات طولانی و یا سوالاتی که ربطی به مباحث ندارند را در انجمن سایت مطرح نمایید.

Flower

sepehr
۱۳۹۵/۰۴/۲۸
۱۹:۳۶

سلام 
این حلقه که تو برنامه هست ازش بیرون نمیاد گیر می کنه ؟
درسش کنید به ماهم بگید

marzieh
۱۳۹۵/۰۵/۲۲
۲۳:۲۲

اگر چندین فایل متنی داشته باشیم برای انتقال از raw به sd  و ساخت کلید جستجو برای ان باید کد بالا رو چطور تغییر داد؟

باران
۱۳۹۶/۰۲/۱۴
۱۳:۳۵

سلام
میخوام وقتی بر روی باتنی کلیک کردم اهنگ در حافظه ذخیره شه ؟
با تشکر

جواد
۱۳۹۸/۰۳/۱۴
۰۱:۰۴

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

حسام
۱۳۹۹/۰۳/۲۲
۲۰:۴۴

باسلام

عذر خواهم چطور میشه برنامه ای نوشت که بشه از حافظه کاربر فایلی رو انتخاب کرد و فایل انتخاب شده رو تو حافظه خارجی کپی کرد؟
و اینکه چطور میشه آدرس واقعیه فایلی که انتخاب میشه رو بدست آورد؟

عباس
۱۳۹۹/۰۷/۱۷
۱۶:۳۹

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

فقط یک نکته اینکه اندروید 10 کار نمیکنه!
من برنامه ای نوشته ام که یک فایل موسیقی رو با زدن یک دکمه در حافظه در پوشه ای کپی میکنه، در همه نسخه های اندروید کپی میشه بدونه مشکل الا اندروبد 10، پیشنهادتون چیه؟

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

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


جستجو
×

جستجو


کلمات کلیدی

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

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