برنامه نویسی اندروید

اموزش برنامه نویسی اندروید تخصصی

برنامه نویسی اندروید

اموزش برنامه نویسی اندروید تخصصی

۱۵ مطلب در اسفند ۱۴۰۲ ثبت شده است

Set Button Text

vahid hasani | | ۰ نظر
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class Main extends Application {
    public static void main(String[] args) {
        Application.launch(args);
    }
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World");
        Group root = new Group();
        Scene scene = new Scene(root, 300, 250);
        Button btn = new Button();
        btn.setLayoutX(100);
        btn.setLayoutY(80);
        btn.setText("Hello World");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            public void handle(ActionEvent event) {
                System.out.println("Hello World");
            }
        });
        root.getChildren().add(btn);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}
  • vahid hasani

دریافت یک آرایه رشته ای (string array) تعریف شده در فایل strings.xml و ذخیره آن در یک متغیر، در برنامه نویسی اندروید

فرض کنید که در فایل strings.xml ، یک آرایه رشته ای با نام string_array_1 ، به صورت زیر تعریف کرده ایم :

 

<string name="number_1">string number 1</string>
<string name="number_2">string number 2</string>
<string name="number_3">string number 3</string>

<string-array name="string_array_1">
     <item>@string/number_1</item>
     <item>@string/number_2</item>
     <item>@string/number_3</item>      
</string-array>

اکنون برای دریافت آرایه رشته ای string_array_1 و ذخیره آن در یک متغیر، کدهای زیر را می نویسیم :

 

String[] my_string = getResources().getStringArray(R.array.string_array_1);

بنابراین اکنون یک متغیر با نام my_string داریم که به صورت آرایه ای از رشته ها (string array) است و می توانیم رشته های (strings) مورد نظرمان را از آن فراخوانی کنیم.

  • vahid hasani

برای ایجاد فاصله بین متن و لبه های TextView (یعنی تعیین padding)، به دو روش می توان عمل کرد که آنها را در ادامه شرح می دهیم.

روش اول : ایجاد فاصله بین متن و لبه های TextView در فایل xml

برای ایجاد فاصله بین متن و لبه های TextView ، باید درون فایل xml ای که در آن TextView تعریف شده است، کد زیر را به کدهای تعریف TextView اضافه کنیم :

 

android:padding="5dp"

مقدار مورد نظرتان برای فاصله متن تا لبه های TextView را باید بر حسب dp در کد بالا بنویسید.

کد قبل، مقدار حاشیه بین متن و لبه های TextView را در هر 4 جهت مختصات مشخص کرده است، اگر بخواهیم که این مقدار حاشیه، در یک یا چند جهت مشخص در نظر گرفته شود، می توانیم از 4 مشخصه زیر استفاده کنیم (به دلخواه، یک یا چند تا از آنها را می توان به کار برد) :

 

android:paddingLeft="5dp"
android:paddingTop="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"

روش دوم : ایجاد فاصله بین متن و لبه های TextView با کدنویسی درون فایل java

اگر بخواهیم که مقدار فاصله بین متن و لبه های TextView را با کدهای java تعیین کنیم، باید در فایل java (یعنی در میان کدهای Activity مورد نظر)، کدهای زیر را بنویسیم :

 

TextView tv = (TextView) findViewById(R.id.textView1);
tv.setPadding(20, 5, 0, 5);

در کد بالا، id مربوط به TextView را برابر textView1 در نظر گرفته ایم. درون پرانتز روش setPadding ، چهار عدد نوشته ایم که میزان فاصله را در 4 جهت مختصات، مشخص می کنند.

ترتیب جهت ها در روش setPadding ، به صورت زیر می باشد :

 

setPadding(left, top, right, bottom)

  • vahid hasani

تعیین یک عکس قرار گرفته در حافظه خارجی (External Storage) به عنوان عکس پس زمینه گوشی (wallpaper)، در برنامه نویسی اندروید

فرض کنید که یک عکس در مسیر زیر از حافظه خارجی (External Storage) قرار دارد و قصد داریم که آن را به عنوان عکس پس زمینه گوشی (wallpaper) قرار دهیم :

 
/myFolder/myImage.jpg

برای این منظور، باید کد زیر در Activity اجرا شود :

 
String photoPath = Environment.getExternalStorageDirectory()+"/myFolder/myImage.jpg";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);
WallpaperManager wpm = WallpaperManager.getInstance(getApplicationContext());
try {
    wpm.setBitmap(bitmap);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

در کد بالا، ابتدا عکس را از حافظه خارجی (External Storage) خوانده و به Bitmap تبدیل می کنیم. سپس با استفاده از روش setBitmap از کلاس WallpaperManager ، آن را به عنوان عکس پس زمینه گوشی (wallpaper) قرار می دهیم.

برای اجرای صحیح کد بالا، باید اجازه های دسترسی مربوط به تغییر عکس پس زمینه گوشی (wallpaper) و همچنین خواندن و نوشتن در حافظه خارجی (External Storage) را در فایل AndroidManifest.xml از پروژه اندروید ذکر کنیم :

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

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

 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.kelidestan.example"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
 
    <uses-permission android:name="android.permission.SET_WALLPAPER" />  
    <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.example.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>
  • vahid hasani

اجرای یک سری کد، به صورت چندین بار و با فواصل زمانی منظم و یک زمان نهایی برای پایان، با روش onTick از کلاس CountDownTimer ، در برنامه نویسی اندروید

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

برای این منظور، این بار باید از روش onTick موجود در کلاس CountDownTimer استفاده کنیم.

به عنوان مثال :

 
new CountDownTimer(17000,4000){
    @Override
    public void onTick(long millisUntilFinished){
        // your code
    } 
    @Override
    public void onFinish(){}
}.start();

که در آن، به جای عبارت // your code باید کدهای مورد نظر خود را بنویسید.

دو عدد را برای کلاس CountDownTimer ذکر کرده ایم، یکی عدد 17000 میلی ثانیه (17 ثانیه) که زمان پایان را مشخص می کند و دیگری عدد 4000 میلی ثانیه (4 ثانیه) که بازه زمانی بین تکرار شدن اجرای کدها را مشخص کرده است.

بنابراین زمان پایان برابر 17000 میلی ثانیه (17 ثانیه) تعیین شده است و کدهای تعیین شده برای روش onTick هم تا قبل از فرا رسیدن زمان پایان، هر 4000 میلی ثانیه (4 ثانیه) یک بار، اجرا خواهند شد.

یک مثال کامل :

 
new CountDownTimer(17000,4000){
    @Override
    public void onTick(long millisUntilFinished){
        Toast.makeText(getApplicationContext(), "kelidestan.com", Toast.LENGTH_SHORT).show();
    }
    @Override
    public void onFinish(){}
}.start();

بنابراین کد زیر 4 بار اجرا خواهد شد (با فاصله زمانی 4 ثانیه) :

 
Toast.makeText(getApplicationContext(), "kelidestan.com", Toast.LENGTH_SHORT).show();

کلاس Toast برای نمایش یک پیام به مدت چند ثانیه، به کار می رود . کد بالا باعث نمایش عبارت kelidestan.com به مدت چند ثانیه می شود.

نکته

در متغیر millisUntilFinished ، مقدار زمان باقیمانده تا زمان پایان بر اساس میلی ثانیه، ذخیره می شود. برای درک بهتر این موضوع، کدهای زیر را اجرا نمایید :

 
new CountDownTimer(13000,4000){
    @Override
    public void onTick(long millisUntilFinished){
        String str = "seconds remaining: " + millisUntilFinished / 1000;
        Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();
    } 
    @Override
    public void onFinish(){}
}.start();

بنابراین پیام های زیر با فاصله های 4 ثانیه ای، نمایش داده می شوند :

 
seconds remaining: 12
 
seconds remaining: 8
 
seconds remaining: 4
نکته

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

 
new CountDownTimer(13000,4000){
    @Override
    public void onTick(long millisUntilFinished){
        String str = "milliseconds remaining: " + millisUntilFinished;
        Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();
    } 
    @Override
    public void onFinish(){}
}.start();
  • vahid hasani

روش Math.toDegrees در برنامه نویسی اندروید، برای تبدیل رادیان (Radian) به درجه (Degree) به کار می رود.

به عنوان مثال، فرض کنید که بخواهیم 3.14 رادیان (Radian) (همان عدد پی به صورت تقریبی که برابر 180 درجه است) را به درجه (Degree) تبدیل کنیم. برای این منظور، کد اندروید (Java) زیر را می نویسیم :

double A = Math.toDegrees(3.14);

نتیجه :

مقدار زیر در متغیر A ذخیره می گردد :

 
179.90874767107852
  • vahid hasani

💢6 سایت و اپلیکیشن که برای دانش آموزان و دانشجو ها خیلی به درد بخورن:

1️⃣- اپلیکیشن photo math :

🔸این اپ خیلی خفنه و تخصصش فقط و فقط در زمینه ریاضیه و هر سوالی رو به راحتی جواب میده.

2️⃣- اپلیکیشن 101 cell biology :

🔸این اپلیکیشن سوالهای زیست رو حل میکنه همراه با سایت قبلی میتونه خیلی خفن باشه.

3️⃣- سایت wolframalpha.com

هر سوال ریاضی که بخوایید حل کنید، این سایت بهترین جواب رو به شما میده حتی یه قسمت پایین جوابش هست که نوشته"step-by-step solution" مرحله به مرحله ی رسیدن به جواب رو هم براتون نوشته.

4️⃣- سایت brightstorm.com :

🔸این یکی هم یه سایت آمریکاییه و هر چیزی که درباره فیزیک میخوایید رو میتونید جواب بگیرید سوالها و تمرینهای فیزیک رو به راحتی حل میکنه بیشتر در سطح دبیرستان (متوسطه دوم هست.

5️⃣- اپلیکیشن phywiz-physics solver :

🔸این اپلیکیشن هم تکمیل کننده سایت بالاییه و سوالها و تمرینهای فیزیک رو به راحتی حل میکنه.

6- سایت www.britishcouncil.org

🔸این سایت برا آموزش زبان خفنه و حتی معلمهای زبان میتونه کمک خوبی باشه.
 

  • vahid hasani

افزونه ها

vahid hasani | | ۰ نظر

افزونه ها در حوزه تست نفوذ

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

افزونه Tamper Data

از tamperdata برای مشاهده و تغییر هدر HTTP / HTTPS و پارامترهای پست، ردیابی و زمان پاسخ / درخواست HTTP، تست امنیتی برنامه های وب با استفاده از اصلاح پارامترهای POST استفاده می شود.

افزونه Firebug

Firebug ابزارهای پیشرفته را به منظور توسعه به صورت فهرست وار در اختیار شما قرار میدهد. به شما این امکان را میدهد تا در هر صفحه وب، اعمال ویرایش، عیب یابی و نظارت بر CSS، HTML و جاوا اسکریپت را انجام دهید.

افزونه HackBar

این نوار ابزار به شما در تست آسیب پذیری هایی مانند sql،XSS و تامین امنیت سایت کمک خواهد کرد. هدف اصلی هک بار این است که یک حسابرسی امنیتی را بر روی کدهای خود انجام دهیم.

افزونه Cookies Manager+

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

افزونه NoScript Security Suite

این افزونه می تواند امنیت مناسبی را در یک مرورگر به شما ارائه دهد! شما میتوانید اجازه دریافت محتوای فعال را فقط از سایتهایی که اعتماد دارید دریافت کنید، و خودتان را از حملات XSS و Clickjacking محافظت کنید.

افزونه CryptoFox

CryptoFox یک ابزار رمزگذاری و رمزگشایی برای موزیلا فایرفاکس است، با پشتیبانی از شکستن رمزنگاری های MD5

افزونه SQL Inject Me

از طریق آسیب پذیری های تزریق SQL می توان سوابق یک وب سایت را مشاهده کرد، رکوردها را حذف کرد، جداول را دست کاری کرد و یا به سرور دسترسی گرفت. SQL Inject-Me فایرفاکس یک افزونه برای تست آسیب پذیری SQL می باشد.

افزونه XSS Me

Cross Site Scripting یک آسیب پذیری رایج در برنامه های وب می باشد. تشخیص آسیب پذیری های XSS در اوایل فرایند توسعه کمک خواهد کرد که یک برنامه وب را از نقص های غیر ضروری محافظت کند. XSS-Me ابزاری است که برای تست آسیب پذیری های XSS استفاده می شود.

افزونه Offsec Exploit-db Search

این افزونه به شما امکان می دهد تا در آرشیو سایت Exploit-dbجستجو کنید.

افزونه shodan.io

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

افزونه Norton Safe Web

مسدود کننده صفحات جعلی و محتواهای مخرب (بدون تداخل با آنتی ویروس سیستم)

افزونه Mining Blocker

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

افزونه wappalyzer

یک ابزار مناسب برای شناسایی cms و اطلاعات مهم دیگر سایت می باشد.

افزونه live http headers

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

 

  • vahid hasani

❗️ امروز یک آموزش کاربردی دارم براتون چون میدونم برای همچی میتونید استفاده کنید .

میخام امروز با یک کتابخونع بهتون آموزش بدم که بتونید تعداد ارایه هاتون بگیرید😘
 

<?php
//اینجا هدر رو فراخوانی میکنیم و به جیسون تغییر میدیم

header('Content-Type: application/json');
//یک فانکشن تعریف کردیم برای راحت شدن کار
function getCount($array){
//کتابخونع count فراخوانی کردیم برای گرفتن تعداد ارایه ها
return count($array);
}
//ارایه هارو میریزیم داخل متغییر
$myArray = array('haji','null','haji','team');
//اجراش میکنیم البته بصورت جیسون 
$results = json_encode([
'developer' => 'Haji Null',
'result' => count($myArray)
],480);
 //نمایش میدیم

  • vahid hasani

ᴀʀɢᴏ ᴛᴇᴀᴍ - آرگو تیم:
#آموزش - 👻
🔧 | توابع کاربردی برای استرینگ ها در PHP

توابع در PHP اجزای کلیدی برنامه نویسی هستند که وظیفه‌های خاصی را اجرا می‌کنند. توابع کاربردی بسیاری در PHP وجود دارند که به برنامه نویسان کمک می‌کنند.

📌 | strlen() - طول یک استرینگ

php
$text = "Hello, World!";
$length = strlen($text);
echo $length; // خروجی: 13


📝 | این مثال نشان می‌دهد چگونه تابع strlen() می‌تواند طول یک استرینگ را برگرداند.

📌 | strtolower() - تبدیل به حروف کوچک

php
$originalString = "Hello, World!";
$lowercaseString = strtolower($originalString);
echo $lowercaseString; // خروجی: hello, world!


📝 | در اینجا تابع strtolower() نمونه‌ای از تبدیل یک استرینگ به حروف کوچک را نشان می‌دهد.

📌 | str_replace() - جایگزینی متن

php
$originalText = "I love PHP";
$replacementText = str_replace("PHP", "coding", $originalText);
echo $replacementText; // خروجی: I love coding


📝 | تابع str_replace() نمونه‌ای از جایگزینی یک قسمت از استرینگ با متن دیگر را نمایش می‌دهد.

توابعی مانند strlen()، strtolower() و str_replace() از بین تعداد بسیار زیادی توابع کاربردی در PHP هستند که برنامه‌نویسان 

#آموزش - 👻

🔒 | کانستنت‌ها در PHP

کانستنت‌ها در PHP متغیرهایی هستند که مقدار آن‌ها در طول اجرای برنامه تغییر نمی‌کند. برخلاف متغیرهای عادی، یک بار تعریف شده و سپس نمی‌توانید مقدار آن را تغییر دهید.

📌 | تعریف یک کانستنت:

php
define("PI", 3.14159);


📝 | در این مثال، کانستنت با نام "PI" و مقدار 3.14159 تعریف شده است.

📌 | استفاده از کانستنت:

php
$radius = 5;
$area = PI * $radius * $radius;
echo $area; // خروجی: 78.53975


📝 | در اینجا ما از کانستنت "PI" برای محاسبه مساحت یک دایره استفاده کرده‌ایم.

استفاده از کانستنت‌ها در PHP به برنامه‌نویسان این امکان را می‌دهد که مقادیر ثابت و تغییرناپذیر را به نام‌های معناداری متصل کنند و از آن‌ها در طول کد به راحتی استفاده کنند.

🧮 | اپراتورهای ریاضی در PHP

اپراتورهای ریاضی در PHP برای انجام عملیات‌های محاسباتی بر روی اعداد و متغیرها استفاده می‌شوند.

1. اپراتور جمع (+):
  
php
   $sum = $num1 + $num2;
   
   این اپراتور برای جمع دو عدد یا متغیر استفاده می‌شود.

2. اپراتور کاهش (-):
  
php
   $difference = $num1 - $num2;
   
   این اپراتور برای تفاوت دو عدد یا متغیر استفاده می‌شود.

3. اپراتور ضرب (*):
  
php
   $result = $num1 * $num2;
   
   این اپراتور برای ضرب دو عدد یا متغیر استفاده می‌شود.

4. اپراتور تقسیم (/):
  
php
   $quotient = $num1 / $num2;
   
   این اپراتور برای تقسیم دو عدد یا متغیر استفاده می‌شود.

5. اپراتور باقی‌مانده (%):
  
php
   $remainder = $num1 % $num2;
   
   این اپراتور باقی‌مانده تقسیم دو عدد یا متغیر را برمی‌گرداند.

🔗 | اپراتورهای منطقی در PHP

اپراتورهای منطقی در PHP برای بررسی شرایط منطقی و ایجاد عبارات منطقی استفاده می‌شوند.

6. اپراتور مقایسه برابری (==):
  
php
   $isEqual = $num1 == $num2;
   
   این اپراتور برای بررسی مساوی بودن دو مقدار یا متغیر استفاده می‌شود.

7. اپراتور مقایسه نابرابری (!=):
  
php
   $notEqual = $num1 != $num2;
   
   این اپراتور برای بررسی نابرابر بودن دو مقدار یا متغیر استفاده می‌شود.

8. اپراتور مقایسه بزرگتر (>):
  
php
   $isGreater = $num1 > $num2;
   
   این اپراتور برای بررسی اینکه آیا یک مقدار بزرگتر از دیگری استفاده می‌شود.

9. اپراتور مقایسه کوچکتر (<):
  
php
   $isSmaller = $num1 < $num2;
   
   این اپراتور برای بررسی اینکه آیا یک مقدار کوچکتر از دیگری استفاده می‌شود.

10. اپراتور مقایسه بزرگتر مساوی (>=):
  
php
   $isGreaterOrEqual = $num1 >= $num2;
   
   این اپراتور برای بررسی اینکه آیا یک مقدار بزرگتر یا مساوی با دیگری استفاده می‌شود.

11. اپراتور مقایسه کوچکتر مساوی (<=):
  
php
   $isSmallerOrEqual = $num1 <= $num2;
   
   این اپراتور برای بررسی اینکه آیا یک مقدار کوچکتر یا مساوی با دیگری استفاده می‌شود.

استفاده از این اپراتورها در PHP به برنامه‌نویسان این امکان را می‌دهد تا عملیات‌های ریاضی و منطقی را به راحتی و با دقت در کدهای زیر است.

  • vahid hasani