Показаны сообщения с ярлыком Android Studio. Показать все сообщения
Показаны сообщения с ярлыком Android Studio. Показать все сообщения

7 янв. 2021 г.

Incorrect credentials request response bad credentials Android Studio

Android Studio 4.1.1

Для того, чтобы не получать сообщение "incorrect credentials request response bad credentials" при подключении GitHub через токен


нужно "правильный" выбрать токен, а именно перейти

Заходим http://github.com - settings - Developer settings - Personal access tokens - нажимаем Generate new token .
В результате именно этот токен нужно использовать при авторизации в Android Studio.

14 июн. 2017 г.

Печать с android

package com.example.jaroslavh.print1;
import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.v4.print.PrintHelper;import android.support.v7.app.AppCompatActivity;import android.view.View;
public class MainActivity extends AppCompatActivity {

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

   
public void doPhotoPrint(View view) {
        PrintHelper photoPrinter =
new PrintHelper(this);
        photoPrinter.setScaleMode(PrintHelper.
SCALE_MODE_FIT);
        Bitmap bitmap = BitmapFactory.
decodeResource(getResources(),
                R.drawable.
droids); // предварительно нужно добавив фотку droids в папку drawable
        photoPrinter.printBitmap(
"droids.jpg - test print", bitmap);
    }

}

Выпадающий список в Android

package com.example.jaroslavh.myapplication1;

import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Properties;

public class MainActivity extends AppCompatActivity {

    @Override    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

        try {
            GetUser();
        } catch (Exception e) {
            print(e.toString());
        }

    }

    public void GetUser() throws Exception {

        Class.forName("org.firebirdsql.jdbc.FBDriver");

        Properties props = new Properties();
        props.setProperty("user""SYSDBA");
        props.setProperty("password""masterkey");
        props.setProperty("encoding""UTF8");

        Connection connection = DriverManager.getConnection(
                "jdbc:firebirdsql:192.168.0.96/3050:C:/IBExpert/db/TEST1.FDB",
                props);

        Statement statement = null;
        String query = " SELECT * FROM users";

        statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(query);

        Spinner spinner = (Spinner) findViewById(R.id.spinner);

        ArrayList<User> users = new ArrayList<User>();

        while (resultSet.next()) {
            users.add(new User(resultSet.getInt("ID"), resultSet.getString("NAME"), resultSet.getInt("PASSWD")));
        }

        ArrayAdapter<User> adapter = new ArrayAdapter<User>(this, android.R.layout.simple_spinner_item, users);
        spinner.setAdapter(adapter);

//        ArrayAdapter<User> adapter = new ArrayAdapter<User>(this, android.R.layout.simple_spinner_item, new User[]{//                new User(1, "Петя", 111),//                new User(2, "Саша", 222),//                new User(3, "Вася", 333),//        });
    }

    public void Exit(View view) {
        finishAffinity();
    }

    public void In(View view) {
        Intent intent = new Intent(this, ListOperations.class);
        intent.putExtra("p1""hello");
        startActivity(intent);
    }

    void print(String message) {
        Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG);
        toast.show();
    }
}





package com.example.jaroslavh.myapplication1;

/** * Created by jaroslav.h on 30.05.2017. */
public class User {

    int id;
    String name;
    int pass;

    User(int id, String name, int pass) {
        this.id = id;
        this.name = name;
        this.pass = pass;
    }

    User(){

    }

    @Override    public String toString() {
        return name;
    }

}

Сделать фотографию с android

package com.example.jaroslavh.myapplication1;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

public class Nomenklature extends AppCompatActivity {

private static final int REQUEST_IMAGE_CAPTURE = 1;

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

}

void dispatchTakePictureIntent(View view) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {

ImageView mImageView = (ImageView) findViewById(R.id.imageView2);

Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
}
}
}

Сохранить значение формы при смене ориентации экрана

package com.example.jaroslavh.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


EditText editText;
TextView textView;
TextWatcher tw;

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

editText = (EditText) findViewById(R.id.editText2);
textView = (TextView) findViewById(R.id.textView);

tw = new TextWatcher() {

public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}

public void onTextChanged(CharSequence s, int start, int before, int count) {
}

public void afterTextChanged(Editable s) {
editText.removeTextChangedListener(tw);
textView.setText(s.toString());
s.clear();
editText.addTextChangedListener(tw);
}

};

editText.addTextChangedListener(tw);
}

protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
textView.setText(savedInstanceState.getString("textView"));
}

protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("textView", textView.getText().toString());
}

}

Сканировать из Android

Главный класс

package com.example.jaroslavh.myapplication;


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


    EditText editText;
    TextView textView;
    TextWatcher tw;

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

        editText = (EditText) findViewById(R.id.editText2);
        textView = (TextView) findViewById(R.id.textView);

        tw = new TextWatcher() {

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }

            public void afterTextChanged(Editable s) {
                editText.removeTextChangedListener(tw);
                textView.setText(s.toString());
                s.clear();
                editText.addTextChangedListener(tw);
            }

        };

        editText.addTextChangedListener(tw);
    }

    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        textView.setText(savedInstanceState.getString("textView"));
    }

    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("textView", textView.getText().toString());
    }

}

Подключиться к веб-сервису с Android

  • Качаем ksoap2.
  • В build.gradle пишем
dependencies {
...
repositories {
    maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
}
compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.1'
...
}
  • В манифест добавляем
<uses-permission android:name="android.permission.INTERNET" />
  • Главный класс выглядит так
package com.example.jaroslavh.ws1;

import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.ksoap2.HeaderProperty;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private static final String NAMESPACE = "http://www.w3.org/2001/XMLSchema";
    private static final String METHOD_NAME = "echo"; //метод веб-сервиса
    private static final String SOAP_ACTION = "tns:swtrade-wms#wms_tcd:echo"; // берем из xml страницы веб-сервиса
    private static String URL = "http://192.168.0.96/veres/uk_UA/ws/wms_tcd"; //  адрес веб-сервиса
    
    private TextView tv;
    private Button btn;

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

        tv = (TextView) findViewById(R.id.TextView); // на форме поле вывода
        btn = (Button) findViewById(R.id.button); // на форме кнопка

        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                new MyTask().execute();
            }

        });

    }

    public class MyTask extends AsyncTask<Void, Void, String> {

        ProgressDialog progress;
        String response = "";

        public void onPreExecute() {

            super.onPreExecute();
        }

        @Override
        protected String doInBackground(Void... arg0) {

            final SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

            request.addProperty("text", "jaroslav"); // веб-сервис принимает один параметр text в виде строки

            final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

            envelope.setOutputSoapObject(request);
            envelope.dotNet = true;

            try {

                List<HeaderProperty> headerList = new ArrayList<HeaderProperty>();
                headerList.add(new HeaderProperty("Authorization", "Basic " + org.kobjects.base64.Base64.encode("admin:123".getBytes()))); // авторизация на веб-сервисе

                HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
                androidHttpTransport.call(SOAP_ACTION, envelope, headerList);

                SoapObject result = (SoapObject) envelope.getResponse();
                response = result.toString();

            } catch (IOException e) {
                response = e.toString();
            } catch (XmlPullParserException e) {
                response = e.toString();
            }

            return response;
        }

        @Override
        public void onPostExecute(String res) {

            if (!(res.equalsIgnoreCase(""))) {
                tv.setText(res);
            }

        }
    }

}

27 мая 2017 г.

Как подключиться к базе firebird из android

Для подключения с android strudio нужно подготовиться, а именно:
  • В android studio ->  New module модуль Jaybird_2_2_12.aar (данный модуль взят с оф.сайта
  • После импорта появиться файл  build.gradle отвечающий за данный модуль. Туда пишем
configurations.maybeCreate("default")
artifacts.add("default", file('Jaybird_2_2_12.aar'))
  •  В главный файл  build-gradle пишем
dependencies {
.................
compile project(':Jaybird_2_2_12')
}
  • В файл  firebird.conf который относиться к субд firebird (2.x)  пишем 
WireCrypt = Disabled
AuthServer = Legacy_Auth, Srp, Win_Sspi
AuthClient = Legacy_Auth, Srp, Win_Sspi

А вот главный класс android studio
package com.example.jaroslavh.myapplication;

import android.os.Bundle;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class MainActivity extends AppCompatActivity {

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

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

        try {
            Test2();
            Toast toast = Toast.makeText(this, "Успішно", Toast.LENGTH_LONG);
            toast.show();
        } catch (Exception e) {
            Toast toast = Toast.makeText(this, e.toString(), Toast.LENGTH_LONG);
            toast.show();
        }

    }

    public void Test2() throws Exception {

        Class.forName("org.firebirdsql.jdbc.FBDriver");

        Properties props = new Properties();
        props.setProperty("user", "SYSDBA");
        props.setProperty("password", "masterkey");
        props.setProperty("encoding", "UTF8");

        Connection connection = DriverManager.getConnection(
                "jdbc:firebirdsql:192.168.0.96/3050:C:/IBExpert/db/TEST1.FDB",
                props);
    }
}
Выделенные строки отвечают за подключение к базе данных, которая развернут по адресу
192.168.0.96 с портом 3050, а сам файл базы данных C:/IBExpert/db/TEST1.FDB


 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07