initial repo for android!

This commit is contained in:
OnlyPapy98
2025-09-25 12:40:44 +02:00
commit 1f34b9cfed
169 changed files with 12099 additions and 0 deletions

BIN
app/.DS_Store vendored Normal file

Binary file not shown.

1
app/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build

65
app/build.gradle Normal file
View File

@@ -0,0 +1,65 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.sdk.tspl.demo"
minSdkVersion 21
targetSdkVersion 30
versionCode 21050601
versionName "TSPL Demo V1.21.01"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = defaultConfig.versionName +".apk"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
implementation 'io.reactivex:rxjava:1.3.8'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.print:print:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
//implementation 'com.tbruyelle.rxpermissions:rxpermissions:0.9.3'
//implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.14'
implementation 'com.github.barteksc:pdfium-android:1.5.0'
//implementation 'com.leon:lfilepickerlibrary:1.7.0'
}

Binary file not shown.

BIN
app/libs/TSPL_V1.21.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/armeabi/libLZO.so Normal file

Binary file not shown.

Binary file not shown.

BIN
app/libs/lzo_V1.0.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
app/libs/mips/libLZO.so Normal file

Binary file not shown.

BIN
app/libs/mips64/libLZO.so Normal file

Binary file not shown.

Binary file not shown.

BIN
app/libs/x86/libLZO.so Normal file

Binary file not shown.

BIN
app/libs/x86_64/libLZO.so Normal file

Binary file not shown.

21
app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

BIN
app/src/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,26 @@
package com.sdk.tspl.demo;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.sdk.tspl.demo", appContext.getPackageName());
}
}

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.sdk.tspl.demo">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.usb.host" />
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore="ProtectedPermissions" />
<uses-feature android:name = "android.hardware.camera" />
<uses-feature android:name = "android.hardware.camera.autofocus" />
<application
android:allowBackup="true"
android:icon="@drawable/logo2"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:requestLegacyExternalStorage="true"
android:theme="@style/AppTheme">
<activity
android:name=".Activity_Logo"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity_Main"
android:label="@string/app_title"
></activity>
<activity android:name=".Activity_1DBarcodes"></activity>
<activity android:name=".Activity_DeviceList"
android:theme="@android:style/Theme.Dialog">
</activity>
<activity android:name=".Activity_Image_Preview"></activity>
<activity android:name=".Activity_Print_Image"
android:theme="@android:style/Theme.Dialog">
</activity>
<activity android:name=".Activity_PRNFile"></activity>
<activity android:name=".Activity_Image_File"></activity>
<activity android:name=".Activity_QRCode"></activity>
<activity android:name=".Activity_Setting"></activity>
<activity android:name=".Activity_TextFormat"></activity>
<activity android:name=".Activity_Wifi"
android:theme="@android:style/Theme.Dialog">
</activity>
<activity android:name=".Activity_Image_Print"></activity>
<activity android:name=".BTActivity"></activity>
<activity android:name=".Activity_Status"
android:theme="@android:style/Theme.Dialog">
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,60 @@
SIZE 100mm,170 mm
DIRECTION 0,0
REFERENCE 0,0
SET PEEL OFF
SET TEAR ON
CLS
BAR 192,112,2,144
TEXT 320,144,"0",1,24,24,"[number]"
BAR 16,256,768,2
BARCODE 192,274,"128",80,1,1,3,7,"[barcode]"
BAR 16,400,768 ,2
TEXT 40,424,"9",1,24,24,"寄件人:"
TEXT 176,424,"9",1,24,24,"[sender_name] [sender_phone]"
TEXT 176,464,"9",1,24,24,"[sender_address]"
BAR 16,528,704,2
TEXT 40,552,"9",1,24,24,"发件人:"
TEXT 176,552,"9",1,24,24,"[receiver_name] [receiver_phone]"
TEXT 176,600,"9",1,24,24,"[receiver_address]"
BAR 16,656,704,2
TEXT 40,680,"9",1,24,24,"发件人/代收人:"
BAR 400,656,2,144
TEXT 424,680,"9",1,24,24,"签收时间"
TEXT 500,740,"9",1,24,24,"年 月 日"
BAR 720,400,2,400
TEXT 736,544,"9",1,24,24,"签"
TEXT 736,580,"9",1,24,24,"收"
TEXT 736,616,"9",1,24,24,"联"
BARCODE 454,824,"128",64,1,0,2,3,"[barcode]"
TEXT 40,936,"9",1,24,24,"寄件人:"
TEXT 176,936,"9",1,24,24,"[sender_name] [sender_phone]"
TEXT 176,976,"9",1,24,24,"[sender_address]"
BAR 16,1040,704 ,2
TEXT 40,1064,"9",1,24,24,"发件人:"
TEXT 176,1064,"9",1,24,24,"[receiver_name] [receiver_phone]"
TEXT 176,1112,"9",1,24,24,"[receiver_address]"
BAR 16,1168,768 ,2
BAR 720,912,2,256
TEXT 736,988,"9",1,24,24,"收"
TEXT 736,1024,"9",1,24,24,"件"
TEXT 736,1060,"9",1,24,24,"联"
TEXT 40,1192,"9",1,24,24,"订单详情:"
TEXT 192,1192,"9",1,24,24,"[Orderdetails1]"
TEXT 192,1224,"9",1,24,24,"[Orderdetails2]"
TEXT 192,1256,"9",1,24,24,"[Orderdetails3]"
QRCODE 40,112,Q,4,M,0,"http://weixin.qq.com/r/EEhRSYbE4duercIq9x0C"
QRCODE 680,1192,Q,4,M,0,"http://weixin.qq.com/r/EEhRSYbE4duercIq9x0C"
BAR 592,1168,2,192
PRINT 1,1

View File

@@ -0,0 +1,201 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import tspl.HPRTPrinterHelper;
public class Activity_1DBarcodes extends Activity
{
private Context thisCon=null;
private Spinner spnBarcodeType=null;
private ArrayAdapter arrBarcodeType;
private Spinner spnBarcodeWidth=null;
private ArrayAdapter arrBarcodeWidth;
private Spinner spnBarcode_readable=null;
private Spinner spnBarcode_rotation=null;
private Spinner spnBarcode_narrow=null;
private ArrayAdapter arrBarcodeHRILayout;
private ArrayAdapter arrBarcoderotation;
private ArrayAdapter arrBarcodenarrow;
private EditText txtBarcodeData=null;
private EditText txtBarcodeHeight=null;
private EditText txtBarcode_x=null;
private EditText txtBarcode_y=null;
private int justification=0;
private int BarcodeType=0;
private int BarcodeWidth=2;
private int Barcodereadable=0;
private int Barcoderotation=0;
private int Barcodenarrow=0;
private String Barcodetype;
private PublicAction pAct;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_1dbarcodes);
thisCon=this.getApplicationContext();
pAct = new PublicAction(thisCon);
spnBarcodeType = (Spinner) findViewById(R.id.spnBarcodeType);
//arrBarcodeType = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
String[] barcode=new String[PrinterProperty.Barcode.split(",").length-1];
if (PrinterProperty.Barcode.contains("QRCODE")) {
for (int i = 0; i < PrinterProperty.Barcode.split(",").length-1; i++) {
barcode[i]=PrinterProperty.Barcode.split(",")[i];
}
}else {
barcode=new String[PrinterProperty.Barcode.split(",").length];
for (int i = 0; i < PrinterProperty.Barcode.split(",").length; i++) {
barcode[i]=PrinterProperty.Barcode.split(",")[i];
}
}
arrBarcodeType = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,barcode);
arrBarcodeType=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_barcode_type, android.R.layout.simple_spinner_item);
arrBarcodeType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnBarcodeType.setAdapter(arrBarcodeType);
spnBarcodeType.setOnItemSelectedListener(new OnItemSelectedBarcodeType());
spnBarcodeWidth = (Spinner) findViewById(R.id.spnBarcodeWidth);
arrBarcodeWidth = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrBarcodeWidth=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_width, android.R.layout.simple_spinner_item);
arrBarcodeWidth.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnBarcodeWidth.setAdapter(arrBarcodeWidth);
spnBarcodeWidth.setOnItemSelectedListener(new OnItemSelectedBarcodeWidth());
spnBarcode_readable = (Spinner) findViewById(R.id.spnBarcode_readable);
arrBarcodeHRILayout = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrBarcodeHRILayout=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_hri_position, android.R.layout.simple_spinner_item);
arrBarcodeHRILayout.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnBarcode_readable.setAdapter(arrBarcodeHRILayout);
spnBarcode_readable.setOnItemSelectedListener(new OnItemSelectedBarcodeHRILayout());
spnBarcode_rotation = (Spinner) findViewById(R.id.spnBarcode_rotation);
arrBarcoderotation = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrBarcoderotation=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_hri_rotation, android.R.layout.simple_spinner_item);
arrBarcoderotation.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnBarcode_rotation.setAdapter(arrBarcoderotation);
spnBarcode_rotation.setOnItemSelectedListener(new OnItemSelectedBarcoderotation());
spnBarcode_narrow = (Spinner) findViewById(R.id.spnBarcode_narrow);
arrBarcodenarrow = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrBarcodenarrow=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_width, android.R.layout.simple_spinner_item);
arrBarcodenarrow.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnBarcode_narrow.setAdapter(arrBarcodenarrow);
spnBarcode_narrow.setOnItemSelectedListener(new OnItemSelectedBarcodenarrow());
txtBarcodeData=(EditText)this.findViewById(R.id.txtBarcodeData);
txtBarcodeHeight=(EditText)this.findViewById(R.id.txtBarcodeHeight);
txtBarcode_x=(EditText)this.findViewById(R.id.txtBarcode_x);
txtBarcode_y=(EditText)this.findViewById(R.id.txtBarcode_y);
}
private class OnItemSelectedBarcodeType implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
Barcodetype=spnBarcodeType.getSelectedItem().toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedBarcodeWidth implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
BarcodeWidth=arg2+2;
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedBarcodeHRILayout implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
Barcodereadable=arg2;
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedBarcoderotation implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
Barcoderotation=arg2*90;
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedBarcodenarrow implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
Barcodenarrow=arg2+2;
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
public void onClickPrint(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
if(txtBarcodeData.getText().toString().trim().length()==0)
{
Toast.makeText(thisCon, getString(R.string.activity_1dbarcodes_no_data), Toast.LENGTH_SHORT).show();
return;
}
if(HPRTPrinterHelper.printAreaSize("100", "80")==-1){
Toast.makeText(thisCon,getString(R.string.activity_main_disconnected),Toast.LENGTH_LONG).show();
return;
}
HPRTPrinterHelper.CLS();
HPRTPrinterHelper.printBarcode(txtBarcode_x.getText().toString(), txtBarcode_y.getText().toString(), Barcodetype,txtBarcodeHeight.getText().toString(), ""+Barcodereadable,""+Barcoderotation,""+Barcodenarrow,""+BarcodeWidth,txtBarcodeData.getText().toString().trim());
HPRTPrinterHelper.Print("1", "1");
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_1DBarcodes --> onClickPrint ")).append(e.getMessage()).toString());
}
}
}

View File

@@ -0,0 +1,312 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import tspl.HPRTPrinterHelper;
public class Activity_DeviceList extends Activity {
public static final String TAG = "DeviceListActivity";
public static final boolean D = true;
// 返回 Intent的extra
public static String EXTRA_DEVICE_ADDRESS = "device_address";
// 成员字段
public BluetoothAdapter mBtAdapter;
private BluetoothDevice mmDevice;
private BluetoothSocket mmSocket;
private InputStream mmInStream;
private OutputStream mmOutStream;
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
public List<String> pairedDeviceList=null;
public List<String> newDeviceList=null;
public ArrayAdapter<String> mPairedDevicesArrayAdapter;
public ArrayAdapter<String> mNewDevicesArrayAdapter;
public static String toothAddress=null;
public static String toothName=null;
private Context thisCon=null;
private String strAddressList="";
private Thread thread;
Handler handler=new Handler(){
public void handleMessage(Message msg) {
progress.setVisibility(View.GONE);
Intent intent = new Intent();
intent.putExtra("is_connected", ((msg.what==0)?"OK":"NO"));
intent.putExtra("BTAddress", toothAddress);
setResult(HPRTPrinterHelper.ACTIVITY_CONNECT_BT, intent);
finish();
};
};
private Message message;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//启用窗口拓展功能,方便调用
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_devicelist);
setResult(Activity.RESULT_CANCELED);
progress = (ProgressBar) findViewById(R.id.progress);
Button scanButton = (Button) findViewById(R.id.button_scan);
scanButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
strAddressList="";
doDiscovery();
v.setVisibility(View.GONE);
}
});
thisCon=this.getApplicationContext();
// 初始化 arryadapter 已经配对的设备和新扫描到得设备
mPairedDevicesArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,getPairedData());
mNewDevicesArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
ListView pairedListView = (ListView) findViewById(R.id.paired_devices);
ListView newDevicesListView = (ListView) findViewById(R.id.new_devices);
pairedListView.setAdapter(mPairedDevicesArrayAdapter);
newDevicesListView.setAdapter(mNewDevicesArrayAdapter);
String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST";
IntentFilter intent = new IntentFilter();
intent.addAction(BluetoothDevice.ACTION_FOUND);// 用BroadcastReceiver来取得搜索结果
intent.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
intent.addAction(ACTION_PAIRING_REQUEST);
intent.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);
intent.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
intent.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
registerReceiver(mReceiver, intent);
try
{
pairedListView.setOnItemClickListener(mDeviceClickListener);
newDevicesListView.setOnItemClickListener(mDeviceClickListener);
}catch(Exception excpt)
{
Toast.makeText(this, thisCon.getString(R.string.activity_devicelist_get_device_err)+excpt,Toast.LENGTH_LONG).show();
}
}
//取得已经配对的蓝牙信息,用来加载到ListView中去
public List<String> getPairedData()
{
List<String> data = new ArrayList<String>();
//默认的蓝牙适配器
mBtAdapter = BluetoothAdapter.getDefaultAdapter();
// 得到当前的一个已经配对的蓝牙设备
Set<BluetoothDevice> pairedDevices = mBtAdapter.getBondedDevices();
ListView pairedListView = (ListView) findViewById(R.id.paired_devices);
ListView newDevicesListView = (ListView) findViewById(R.id.new_devices);
if (pairedDevices.size() > 0)
{
findViewById(R.id.title_paired_devices).setVisibility(View.VISIBLE);
for (BluetoothDevice device : pairedDevices) //遍历
{
data.add(device.getName() + "\n" + device.getAddress());
}
}
else
{
String noDevices = getResources().getText(R.string.activity_devicelist_none_paired).toString();
data.add(noDevices);
}
return data;
}
@Override
protected void onDestroy()
{
super.onDestroy();
// 确认是否还需要做扫描
if (mBtAdapter != null)
mBtAdapter.cancelDiscovery();
if (thread!=null) {
Thread dummy = thread;
thread = null;
dummy.interrupt();
}
}
/**
* 启动装置发现的BluetoothAdapter
*/
public void doDiscovery()
{
if (D) Log.d(TAG, "doDiscovery()");
// 在标题中注明扫描
setProgressBarIndeterminateVisibility(true);
setTitle(R.string.activity_devicelist_scanning);
// 打开子标题的新设备
findViewById(R.id.title_new_devices).setVisibility(View.VISIBLE);
// 若启动了扫描,关闭扫描
if (mBtAdapter.isDiscovering()) {
mBtAdapter.cancelDiscovery();
}
//扫描
int intStartCount=0;
while (!mBtAdapter.startDiscovery() && intStartCount<5)
{
Log.e("BlueTooth", "扫描尝试失败");
intStartCount++;
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
// 给列表的中的蓝牙设备创建监听事件
public OnItemClickListener mDeviceClickListener = new OnItemClickListener()
{
public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3)
{
boolean hasConnected=false;
progress.setVisibility(View.VISIBLE);
try
{
if(mBtAdapter.isDiscovering())
{
mBtAdapter.cancelDiscovery();
}
//取得蓝牙mvc地址
String info = ((TextView) v).getText().toString();
toothAddress = info.substring(info.length() - 17);
if(!toothAddress.contains(":"))
{
return;
}
thread = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
int portOpen = HPRTPrinterHelper.PortOpen("Bluetooth,"+toothAddress);
message = new Message();
message.what=portOpen;
handler.sendMessage(message);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
thread.start();
// hasConnected= ConnectDevice();
// if (hasConnected)
// {
// DisConnect();
// }
}
catch (Exception e)
{
progress.setVisibility(View.GONE);
e.printStackTrace();
}
// finally
// {
// finish();
// }
}
};
// 扫描完成时候改变按钮text
public final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
BluetoothDevice device = null;
// 搜索设备时取得设备的MAC地址
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if (device.getBondState() == BluetoothDevice.BOND_NONE)
{
if(device.getBluetoothClass().getMajorDeviceClass()==1536)
{
if(!strAddressList.contains(device.getAddress()))
{
Bundle b = intent.getExtras();
String object = String.valueOf(b.get("android.bluetooth.device.extra.RSSI"));
int valueOf = Integer.valueOf(object);
float power=(float) ((Math.abs(valueOf)-59)/(10*2.0));
float pow=(float) Math.pow(10,power);
strAddressList+=device.getAddress()+",";
DecimalFormat decimalFormat = new DecimalFormat("0.00");
mNewDevicesArrayAdapter.add(device.getName()+" "+decimalFormat.format(pow)+" m" + "\n" + device.getAddress());
}
}
}
}else if(BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(action)){
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
switch (device.getBondState()) {
case BluetoothDevice.BOND_BONDING:
Log.d("BlueToothTestActivity", "正在配对......");
break;
case BluetoothDevice.BOND_BONDED:
Log.d("BlueToothTestActivity", "完成配对");
break;
case BluetoothDevice.BOND_NONE:
Log.d("BlueToothTestActivity", "取消配对");
default:
break;
}
}
else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action))
{
setProgressBarIndeterminateVisibility(false);
setTitle(R.string.activity_devicelist_select_device);
if (mNewDevicesArrayAdapter.getCount() == 0) { }
}
}
};
private ProgressBar progress;
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
if (thread!=null) {
Thread dummy = thread;
thread = null;
dummy.interrupt();
}
}
}

View File

@@ -0,0 +1,198 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
public class Activity_Image_File extends Activity {
private ListView listV = null;
private List<File> list = null;
private int a[] = {R.drawable.icon_folder,R.drawable.icon_prn,R.drawable.icon_file_image};
private ArrayList<HashMap<String, Object>> recordItem;
private static final String PREFS_NAME = "MyPrefsFile";
private String FileFilterList="prn,";
private File FolderPath;
//private String PrePath;
private Context thisCon;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_prn_file);
listV = (ListView)findViewById(R.id.list);
Intent iFilePath = getIntent();
FolderPath=new File(iFilePath.getStringExtra("Folder"));
FileFilterList=iFilePath.getStringExtra("FileFilter");
list_files();
}
private void list_files()
{
File[] file = FolderPath.listFiles();
fill(file);
}
private void fill(File[] file)
{
SimpleAdapter adapter = null;
recordItem = new ArrayList<HashMap<String, Object>>();
list = new ArrayList<File>();
List<String> fDir = new ArrayList<String>();
List<String> fDirPath = new ArrayList<String>();
List<String> fFile = new ArrayList<String>();
List<String> fFilePath = new ArrayList<String>();
List<String> fAllFile = new ArrayList<String>();
List<String> fAllFilePath = new ArrayList<String>();
for(File f: file)
{
if(f.isDirectory())
{
if(!f.getName().substring(0,1).equals("."))
{
fDir.add(f.getName());
fDirPath.add(f.getAbsolutePath());
}
}
else
{
if(!f.getName().substring(0,1).equals("."))
{
fFile.add(f.getName());
fFilePath.add(f.getAbsolutePath());
}
}
}
Collections.sort(fDir,String.CASE_INSENSITIVE_ORDER);
Collections.sort(fDirPath,String.CASE_INSENSITIVE_ORDER);
Collections.sort(fFile,String.CASE_INSENSITIVE_ORDER);
Collections.sort(fFilePath,String.CASE_INSENSITIVE_ORDER);
for(int i=0;i<fDir.size();i++)
{
fAllFile.add(fDir.get(i));
fAllFilePath.add(fDirPath.get(i));
}
for(int i=0;i<fFile.size();i++)
{
fAllFile.add(fFile.get(i));
fAllFilePath.add(fFilePath.get(i));
}
File fileTemp=null;
int intFileType=0;
String strFilePrefix="";
String strFileName="";
for(int i=0;i<fAllFile.size();i++)
{
fileTemp=new File(fAllFilePath.get(i));
strFileName=fileTemp.getName();
strFilePrefix=strFileName.substring(strFileName.lastIndexOf(".")+1);
if (!fileTemp.isDirectory() && (!FileFilterList.equals("") && !FileFilterList.contains(strFilePrefix+",")))
continue;
intFileType=Invalid(fileTemp);
if(intFileType == -1)
{
list.add(fileTemp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[0]);
map.put("name", strFileName);
recordItem.add(map);
}
if(intFileType == 0)
{
list.add(fileTemp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[1]);
map.put("name", strFileName);
recordItem.add(map);
}
if(intFileType == 1)
{
list.add(fileTemp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[2]);
map.put("name", strFileName);
recordItem.add(map);
}
}
if(list.size()==0)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[0]);
map.put("name", "...");
recordItem.add(map);
}
adapter = new SimpleAdapter(this, recordItem, R.layout.file_item_bar, new String[]{"picture", "name"}, new int[]{R.id.picture, R.id.text});
listV.setAdapter(adapter);
listV.setOnItemClickListener(new Clicker());
}
//<2F>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9>
private int Invalid(File f)
{
String strFilePrefix="";
String strFileName="";
strFileName=f.getName();
strFilePrefix=strFileName.substring(strFileName.lastIndexOf(".")+1);
String strType0="prn,";
String strType1="gif,png,bmp,jpg,";
if(strType0.contains(strFilePrefix.toLowerCase()+","))
{
return 0;
}
else if(strType1.contains(strFilePrefix.toLowerCase()+","))
{
return 1;
}
else
{
return -1;
}
}
private class Clicker implements OnItemClickListener
{
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
if(list.size()==0)
finish();
else
{
File file = list.get(arg2);
if(file.isFile())
{
}
else
{
Intent myIntent = new Intent();
myIntent.setClass(Activity_Image_File.this, Activity_Image_File.class);
myIntent.putExtra("Folder", file.getAbsolutePath());
myIntent.putExtra("FileFilter", FileFilterList);
startActivityFromChild(Activity_Image_File.this, myIntent, 10);
}
}
}
}
}

View File

@@ -0,0 +1,127 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.format.DateFormat;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Locale;
public class Activity_Image_Preview extends Activity
{
ImageView view;
String ImagePath;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_image_preview);
view=(ImageView)this.findViewById(R.id.webPreview);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
public void onClickOK(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
Intent intent = new Intent();
intent.putExtra("ImagePath", ImagePath);
setResult(10, intent);
finish();
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Print_Image --> onClickPhoto ")).append(e.getMessage()).toString());
}
}
public void onClickCancel(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
finish();
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Print_Image --> onClickPrint ")).append(e.getMessage()).toString());
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
{
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED))
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Image_Preview --> onActivityResult ")).append("SD card is not avaiable/writeable right now.").toString());
return;
}
new DateFormat();
String name = DateFormat.format("yyyyMMdd_hhmmss",Calendar.getInstance(Locale.CHINA)) + ".jpg";
Toast.makeText(this, name, Toast.LENGTH_LONG).show();
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");//
FileOutputStream b = null;
File file = new File("/sdcard/HPRTSDKSample/");
if(!file.exists())
file.mkdirs();//
ImagePath = "/sdcard/HPRTSDKSample/"+name;
try
{
b = new FileOutputStream(ImagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);//
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
finally
{
try
{
b.flush();
b.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
try
{
view.setImageBitmap(bitmap);//
}
catch(Exception e)
{
Log.e("error", e.getMessage());
}
}
}
}

View File

@@ -0,0 +1,19 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class Activity_Image_Print extends Activity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_image_print);
}
}

View File

@@ -0,0 +1,38 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
public class Activity_Logo extends Activity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_logo);
new Thread()
{
public void run()
{
/*try
{
Thread.sleep((long)Integer.parseInt(Activity_Logo.this.getString(R.string.logo_show_time)));
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}*/
Intent itnCall=new Intent(Activity_Logo.this,Activity_Main.class);
startActivity(itnCall);
finish();
}
}.start();
}
}

View File

@@ -0,0 +1,754 @@
package com.sdk.tspl.demo;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbInterface;
import android.hardware.usb.UsbManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.leon.lfilepickerlibrary.LFilePicker;
import com.tbruyelle.rxpermissions.RxPermissions;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import rx.functions.Action1;
import tspl.HPRTPrinterHelper;
import tspl.IPort;
import tspl.Print;
import tspl.PublicFunction;
public class Activity_Main extends Activity
{
private static final int REQUESTCODE_FROM_ACTIVITY = 1000;
private Context thisCon=null;
private BluetoothAdapter mBluetoothAdapter;
private PublicFunction PFun=null;
private PublicAction PAct=null;
private Button btnWIFI=null;
private Button btnBT=null;
private Button btnUSB=null;
private Spinner spnPrinterList=null;
private TextView txtTips=null;
private Button btnOpenCashDrawer=null;
private Button btnSampleReceipt=null;
private Button btn1DBarcodes=null;
private Button btnQRCode=null;
private Button btnPDF417=null;
private Button btnCut=null;
private Button btnPageMode=null;
private Button btnImageManage=null;
private EditText edtTimes=null;
private ArrayAdapter arrPrinterList;
private String ConnectType="";
// private String PrinterName="";
private String PortParam="";
private UsbManager mUsbManager=null;
private UsbDevice device=null;
private static final String ACTION_USB_PERMISSION = "com.HPRTSDKSample";
private PendingIntent mPermissionIntent=null;
private static IPort Printer=null;
private Handler handler;
private ProgressDialog dialog;
private static String[] PERMISSIONS_STORAGE = {
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE" };
private Print print;
private ExecutorService executorService = Executors.newSingleThreadExecutor();
private String mStatusStr="";
private boolean isPage = true;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(BuildConfig.VERSION_NAME);
try{
thisCon=this.getApplicationContext();
initPrint();
btnWIFI = (Button) findViewById(R.id.btnWIFI);
btnUSB = (Button) findViewById(R.id.btnUSB);
btnBT = (Button) findViewById(R.id.btnBT);
//edtTimes = (EditText) findViewById(R.id.edtTimes);
spnPrinterList = (Spinner) findViewById(R.id.spn_printer_list);
txtTips = (TextView) findViewById(R.id.txtTips);
btnSampleReceipt = (Button) findViewById(R.id.btnSampleReceipt);
btnOpenCashDrawer = (Button) findViewById(R.id.btnOpenCashDrawer);
btn1DBarcodes = (Button) findViewById(R.id.btn1DBarcodes);
btnQRCode = (Button) findViewById(R.id.btnQRCode);
btnPDF417 = (Button) findViewById(R.id.btnPDF417);
btnCut = (Button) findViewById(R.id.btnCut);
btnPageMode = (Button) findViewById(R.id.btnPageMode);
btnImageManage = (Button) findViewById(R.id.btnImageManage);
mPermissionIntent = PendingIntent.getBroadcast(thisCon, 0, new Intent(ACTION_USB_PERMISSION), 0);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
thisCon.registerReceiver(mUsbReceiver, filter);
IntentFilter intent = new IntentFilter();
intent.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
registerReceiver(mReceiver, intent);
PFun=new PublicFunction(thisCon);
PAct=new PublicAction(thisCon);
InitSetting();
EnableBluetooth();
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
if (msg.what==1) {
Toast.makeText(thisCon, "succeed", Toast.LENGTH_SHORT).show();
dialog.cancel();
}else {
Toast.makeText(thisCon, "failure",Toast.LENGTH_SHORT).show();
txtTips.setText(thisCon.getString(R.string.activity_main_disconnected));
dialog.cancel();
}
}
};
}
catch (Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> onCreate ")).append(e.getMessage()).toString());
}
}
private void initPrint() {
print = new Print();
}
private void InitSetting(){
String SettingValue="";
SettingValue=PFun.ReadSharedPreferencesData("Codepage");
if(SettingValue.equals(""))
PFun.WriteSharedPreferencesData("Codepage", "0,PC437(USA:Standard Europe)");
SettingValue=PFun.ReadSharedPreferencesData("Cut");
if(SettingValue.equals(""))
PFun.WriteSharedPreferencesData("Cut", "0");
SettingValue=PFun.ReadSharedPreferencesData("Cashdrawer");
if(SettingValue.equals(""))
PFun.WriteSharedPreferencesData("Cashdrawer", "0");
SettingValue=PFun.ReadSharedPreferencesData("Buzzer");
if(SettingValue.equals(""))
PFun.WriteSharedPreferencesData("Buzzer", "0");
SettingValue=PFun.ReadSharedPreferencesData("Feeds");
if(SettingValue.equals(""))
PFun.WriteSharedPreferencesData("Feeds", "0");
}
//EnableBluetooth
private boolean EnableBluetooth()
{
boolean bRet = false;
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter != null)
{
if(mBluetoothAdapter.isEnabled())
return true;
mBluetoothAdapter.enable();
try {
Thread.sleep(500);
}
catch (InterruptedException e){
e.printStackTrace();
}
if(!mBluetoothAdapter.isEnabled())
{
bRet = true;
Log.d("PRTLIB", "BTO_EnableBluetooth --> Open OK");
}
}
else
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Main --> EnableBluetooth ").append("Bluetooth Adapter is null.")).toString());
}
return bRet;
}
//call back by scan bluetooth printer
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data)
{
try
{
String strIsConnected;
switch(resultCode)
{
case RESULT_CANCELED:
connectBT(data.getStringExtra("SelectedBDAddress"));
case HPRTPrinterHelper.ACTIVITY_CONNECT_WIFI:
String strIPAddress="";
String strPort="";
strIsConnected=data.getExtras().getString("is_connected");
if (strIsConnected.equals("NO")){
txtTips.setText(thisCon.getString(R.string.activity_main_scan_error));
return;
}
else{
strIPAddress=data.getExtras().getString("IPAddress");
strPort=data.getExtras().getString("Port");
if(strIPAddress==null || !strIPAddress.contains("."))
return;
// HPRTPrinter=new HPRTPrinterHelper(thisCon,spnPrinterList.getSelectedItem().toString().trim());
if(HPRTPrinterHelper.PortOpen("WiFi,"+strIPAddress+","+strPort)!=0)
txtTips.setText(thisCon.getString(R.string.activity_main_connecterr));
else
txtTips.setText(thisCon.getString(R.string.activity_main_connected));
return;
}
case HPRTPrinterHelper.ACTIVITY_IMAGE_FILE:
// PAct.LanguageEncode();
dialog = new ProgressDialog(Activity_Main.this);
dialog.setMessage("Printing.....");
dialog.setProgress(100);
dialog.show();
new Thread(){
public void run() {
try {
String strImageFile=data.getExtras().getString("FilePath");
Bitmap bmp=BitmapFactory.decodeFile(strImageFile);
int height = bmp.getHeight()/8;
if(HPRTPrinterHelper.printAreaSize("100",""+ height)==-1){
Toast.makeText(thisCon,getString(R.string.activity_main_disconnected),Toast.LENGTH_LONG).show();
return;
}
HPRTPrinterHelper.CLS();
int a=HPRTPrinterHelper.printImage("0","0",strImageFile,true);
HPRTPrinterHelper.Print("1", "1");
if (a>0) {
handler.sendEmptyMessage(1);
}else {
handler.sendEmptyMessage(0);
}
}catch (Exception e) {
handler.sendEmptyMessage(0);
}
}
}.start();
return;
case HPRTPrinterHelper.ACTIVITY_PRNFILE:
String strPRNFile=data.getExtras().getString("FilePath");
HPRTPrinterHelper.PrintBinaryFile(strPRNFile);
return;
case RESULT_OK:
if (requestCode == REQUESTCODE_FROM_ACTIVITY) {
List<String> list = data.getStringArrayListExtra("paths");
String mFilename = list.get(0);
File file = new File(mFilename);
if (file==null){
Toast.makeText(thisCon,"file error",Toast.LENGTH_SHORT).show();
return;
}
selectImageModel(file);
return;
}
return;
}
}catch(Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> onActivityResult ")).append(e.getMessage()).toString());
}
super.onActivityResult(requestCode, resultCode, data);
}
private void selectImageModel(File file) {
final String[] papertype = getResources().getStringArray(R.array.print_image_model);
AlertDialog.Builder builder = new AlertDialog.Builder(Activity_Main.this);
builder.setTitle(getResources().getString(R.string.activity_main_print_image_model))
.setItems(papertype, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
switch(i){
case 0:
printPDF(file,false);
break;
case 1:
printPDF(file,true);
break;
default:
break;
}
}
}).show();
}
private void printPDF(File file,boolean model) {
dialog = new ProgressDialog(Activity_Main.this);
dialog.setMessage("Printing.....");
dialog.setProgress(100);
dialog.show();
new Thread(){
@Override
public void run() {
super.run();
try{
List<Bitmap> bitmaps = Utility.pdfToBitmap(thisCon, file, "1", 576);
if (bitmaps==null||bitmaps.size()==0||bitmaps.get(0)==null){
handler.sendEmptyMessage(0);
return;
}
for (int i = 0; i < bitmaps.size(); i++) {
Bitmap bitmap = bitmaps.get(i);
HPRTPrinterHelper.printAreaSize(""+(bitmap.getWidth()/8),""+(bitmap.getHeight()/8));
HPRTPrinterHelper.CLS();
HPRTPrinterHelper.printImage("0","0",bitmap,true,model);
if(HPRTPrinterHelper.Print("1","1")!=-1){
handler.sendEmptyMessage(1);
}else{
handler.sendEmptyMessage(0);
}
}
}catch (Exception e){
handler.sendEmptyMessage(0);
}
}
}.start();
}
private void connectBT(String selectedBDAddress) {
if (TextUtils.isEmpty(selectedBDAddress))
return;
final ProgressDialog progressDialog = new ProgressDialog(Activity_Main.this);
progressDialog.setMessage(getString(R.string.activity_devicelist_connect));
progressDialog.show();
new Thread() {
@Override
public void run() {
super.run();
try {
final int result = HPRTPrinterHelper.PortOpen("Bluetooth,"+selectedBDAddress);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (result==0)
txtTips.setText(thisCon.getString(R.string.activity_main_connected));
else
txtTips.setText(thisCon.getString(R.string.activity_main_connecterr)+result);
}
});
progressDialog.dismiss();
} catch (Exception e) {
progressDialog.dismiss();
}
}
}.start();
}
@SuppressLint("NewApi")
public void onClickConnect(View view)
{
if (!checkClick.isClickEvent()) return;
try{
HPRTPrinterHelper.PortClose();
if(view.getId()==R.id.btnBT){
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions.request(Manifest.permission.BLUETOOTH_ADMIN,
Manifest.permission.BLUETOOTH,
Manifest.permission.ACCESS_FINE_LOCATION).subscribe(new Action1<Boolean>() {
@Override
public void call(Boolean aBoolean) {
if (aBoolean) {
Log.d("Print", "call: ");
ConnectType="Bluetooth";
Intent intent = new Intent(thisCon,BTActivity.class);
intent.putExtra("TAG", 0);
startActivityForResult(intent, 0);
}
}
});
}
else if(view.getId()==R.id.btnWIFI) {
ConnectType="WiFi";
Intent serverIntent = new Intent(thisCon,Activity_Wifi.class);
startActivityForResult(serverIntent, HPRTPrinterHelper.ACTIVITY_CONNECT_WIFI);
return;
}
else if(view.getId()==R.id.btnUSB) {
ConnectType="USB";
//USB not need call "iniPort"
mUsbManager = (UsbManager) thisCon.getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
boolean HavePrinter=false;
while(deviceIterator.hasNext()){
device = deviceIterator.next();
int count = device.getInterfaceCount();
for (int i = 0; i < count; i++){
UsbInterface intf = device.getInterface(i);
if (intf.getInterfaceClass() == 7){
HavePrinter=true;
mUsbManager.requestPermission(device, mPermissionIntent);
}
}
}
if(!HavePrinter)
txtTips.setText(thisCon.getString(R.string.activity_main_connect_usb_printer));
}
}catch (Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> onClickConnect "+ConnectType)).append(e.getMessage()).toString());
}
}
private BroadcastReceiver mUsbReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
try{
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action)){
synchronized (this){
device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)){
if(HPRTPrinterHelper.PortOpen(thisCon,device)!=0){
// HPRTPrinter=null;
txtTips.setText(thisCon.getString(R.string.activity_main_connecterr));
return;
}else
txtTips.setText(thisCon.getString(R.string.activity_main_connected));
}else{
return;
}
}
}
if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)){
device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (device != null){
int count = device.getInterfaceCount();
for (int i = 0; i < count; i++){
UsbInterface intf = device.getInterface(i);
//Class ID 7代表打印机
if (intf.getInterfaceClass() == 7){
HPRTPrinterHelper.PortClose();
txtTips.setText(R.string.activity_main_tips);
}
}
}
}
}catch (Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> mUsbReceiver ")).append(e.getMessage()).toString());
}
}
};
public void onClickClose(View view){
if (!checkClick.isClickEvent()) return;
try{
HPRTPrinterHelper.PortClose();
this.txtTips.setText(R.string.activity_main_tips);
return;
}catch (Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> onClickClose ")).append(e.getMessage()).toString());
}
}
public void onClickbtnSetting(View view){
if (!checkClick.isClickEvent()) return;
try{
startActivity(new Intent(Activity_Main.this, Activity_Setting.class));
}
catch (Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> onClickClose ")).append(e.getMessage()).toString());
}
}
public void onClickDo(View view){
if (!checkClick.isClickEvent()) return;
if(!HPRTPrinterHelper.IsOpened()){
Toast.makeText(thisCon, thisCon.getText(R.string.activity_main_tips), Toast.LENGTH_SHORT).show();
return;
}
if(view.getId()==R.id.btnGetStatus){
Intent myIntent = new Intent(this, Activity_Status.class);
myIntent.putExtra("StatusMode", PrinterProperty.StatusMode);
startActivityFromChild(this, myIntent, 0);
}
else if(view.getId()==R.id.btnSampleReceipt){
PrintSampleReceipt();
}
else if(view.getId()==R.id.btn1DBarcodes){
Intent myIntent = new Intent(this, Activity_1DBarcodes.class);
startActivityFromChild(this, myIntent, 0);
}
else if(view.getId()==R.id.btnTextFormat){
Intent myIntent = new Intent(this, Activity_TextFormat.class);
startActivityFromChild(this, myIntent, 0);
}
else if(view.getId()==R.id.btnPrintImageFile){
Utility.checkBlueboothPermission(Activity_Main.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE, PERMISSIONS_STORAGE, new Utility.Callback() {
@Override
public void permit() {
Intent myIntent = new Intent(Activity_Main.this, Activity_PRNFile.class);
myIntent.putExtra("Folder", android.os.Environment.getExternalStorageDirectory().getAbsolutePath());
myIntent.putExtra("FileFilter", "jpg,gif,png,bmp,");
startActivityForResult(myIntent, HPRTPrinterHelper.ACTIVITY_IMAGE_FILE);
}
@Override
public void pass() {
Intent myIntent = new Intent(Activity_Main.this, Activity_PRNFile.class);
myIntent.putExtra("Folder", android.os.Environment.getExternalStorageDirectory().getAbsolutePath());
myIntent.putExtra("FileFilter", "jpg,gif,png,bmp,");
startActivityForResult(myIntent, HPRTPrinterHelper.ACTIVITY_IMAGE_FILE);
}
});
}
else if(view.getId()==R.id.btnPrintPRNFile){
Intent myIntent = new Intent(this, Activity_PRNFile.class);
myIntent.putExtra("Folder", android.os.Environment.getExternalStorageDirectory().getAbsolutePath());
myIntent.putExtra("FileFilter", "prn,");
startActivityForResult(myIntent, HPRTPrinterHelper.ACTIVITY_PRNFILE);
}
else if(view.getId()==R.id.btnQRCode){
Intent myIntent = new Intent(this, Activity_QRCode.class);
startActivityFromChild(this, myIntent, 0);
}
else if(view.getId()==R.id.btnPrintTestPage){
try {
HPRTPrinterHelper.SelfTest();
} catch (Exception e) {
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> onClickWIFI ")).append(e.getMessage()).toString());
}
}else if(view.getId()==R.id.btnPrintStatus){
getPrintStatus();
}else if(view.getId()==R.id.btnPrintBlock){
printBlock();
}else if(view.getId()==R.id.btn_print_pdf){
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions.request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.MANAGE_EXTERNAL_STORAGE).subscribe(new Action1<Boolean>() {
@Override
public void call(Boolean aBoolean) {
if (aBoolean)
printPDF();
}
});
}
}
private void printPDF() {
new LFilePicker()
.withActivity(this)
.withRequestCode(REQUESTCODE_FROM_ACTIVITY)
.withStartPath(Environment.getExternalStorageDirectory().getAbsolutePath())
.withTitle(getResources().getString(R.string.activity_esc_function_btnpagemode))
.withMutilyMode(false)
.withBackgroundColor("#000000")
.withTitleColor("#ffffff")
.withFileFilter(new String[]{".PDF", ".pdf"})
.start();
}
private void printBlock() {
try{
HPRTPrinterHelper.printAreaSize("100","100");
HPRTPrinterHelper.CLS();
HPRTPrinterHelper.printBlock(0,0,200,100,0,0,2,2,16,2,"TestTestTestTest");
HPRTPrinterHelper.Print("1","1");
}catch (Exception e){}
}
private void getPrintStatus(){
executorService.execute(new Runnable() {
@Override
public void run() {
try{
int printerStatus = HPRTPrinterHelper.getPrinterStatus();
switch(printerStatus){
case HPRTPrinterHelper.STATUS_DISCONNECT:
mStatusStr=getString(R.string.status_disconnect);
break;
case HPRTPrinterHelper.STATUS_TIMEOUT:
mStatusStr=getString(R.string.status_timeout);
break;
case HPRTPrinterHelper.STATUS_OK:
mStatusStr=getString(R.string.status_ok);
break;
case HPRTPrinterHelper.STATUS_COVER_OPENED:
mStatusStr=getString(R.string.status_cover_opened);
break;
case HPRTPrinterHelper.STATUS_NOPAPER:
mStatusStr=getString(R.string.status_nopaper);
break;
case HPRTPrinterHelper.STATUS_OVER_HEATING:
mStatusStr=getString(R.string.status_over_heating);
break;
case HPRTPrinterHelper.STATUS_PRINTING:
mStatusStr=getString(R.string.status_printing);
break;
default:
break;
}
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(thisCon,mStatusStr,Toast.LENGTH_SHORT).show();
}
});
}catch (Exception e){}
}
});
}
private void PrintSampleReceipt(){
try{
if(HPRTPrinterHelper.printAreaSize("100", "100")==-1){
Log.d("Print", "PrintSampleReceipt: Write == -1");
Toast.makeText(thisCon,thisCon.getString(R.string.activity_main_disconnected),Toast.LENGTH_SHORT).show();
txtTips.setText(thisCon.getString(R.string.activity_main_disconnected));
return;
}
HPRTPrinterHelper.CLS();
String[] ReceiptLines = getResources().getStringArray(R.array.activity_main_sample_2inch_receipt);
for(int i=0;i<ReceiptLines.length;i++){
HPRTPrinterHelper.printText("50", ""+(i*30), "9", "0", 2, ReceiptLines[i]);
}
HPRTPrinterHelper.printQRcode("10", "640", "M", "5", "M1", "0", "123ABC");
HPRTPrinterHelper.printQRcode("200", "640", "M", "5", "M1", "0", "123ABC");
HPRTPrinterHelper.Print("1", "1");
}
catch(Exception e){
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> PrintSampleReceipt ")).append(e.getMessage()).toString());
}
}
public void printmodel(View view) {
// TODO Auto-generated method stub
try
{
HashMap<String, String> pum=new HashMap<String, String>();
pum.put("[number]", "021D-123-789");
pum.put("[barcode]", "AFC7150124715012424");
pum.put("[receiver_name]", "齐齐哈尔木鱼");
pum.put("[receiver_phone]", "15605883677 0571-53992320");
pum.put("[receiver_address]", "黑龙江齐齐哈尔市建华区文化大街42号齐齐哈尔大学计算机工程学院001班");
pum.put("[sender_name]", "浙江杭州行者");//收件人地址第一行
pum.put("[sender_phone]", "18000989090 0571-53992320");//收件人第二行(若是没有,赋值""
pum.put("[sender_address]", "浙江省杭州市余杭区文一西路1001号阿里巴巴淘宝城5号办公楼5号小邮局");//收件人第三行(若是没有,赋值""
pum.put("[Orderdetails1]", "我是厦门高崎路飞机场金砖回忆");
pum.put("[Orderdetails2]", "Orderdetails2");
pum.put("[Orderdetails3]", "Orderdetails3");//寄件人地址第一行
Set<String> keySet = pum.keySet();
Iterator<String> iterator = keySet.iterator();
InputStream afis =this.getResources().getAssets().open("TSPL.txt");//打印模版放在assets文件夹里
String path = new String(InputStreamToByte(afis ),"utf-8");//打印模版以utf-8无bom格式保存
while (iterator.hasNext()) {
String string = (String)iterator.next();
path = path.replace(string, pum.get(string));
}
if(HPRTPrinterHelper.PrintData(path)==-1){
Toast.makeText(thisCon,thisCon.getString(R.string.activity_main_disconnected),Toast.LENGTH_SHORT).show();
txtTips.setText(thisCon.getString(R.string.activity_main_disconnected));
}
}
catch(Exception e)
{
Log.e("HPRTSDKSample", (new StringBuilder("Activity_Main --> printmodel ")).append(e.getMessage()).toString());
}
}
private byte[] InputStreamToByte(InputStream is) throws IOException {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = is.read()) != -1) {
bytestream.write(ch);
}
byte imgdata[] = bytestream.toByteArray();
bytestream.close();
return imgdata;
}
public final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)){
try {
HPRTPrinterHelper.PortClose();
} catch (Exception e) {
e.printStackTrace();
}
txtTips.setText(R.string.activity_main_tips);
}
}
};
@Override
protected void onDestroy() {
super.onDestroy();
try {
HPRTPrinterHelper.PortClose();
if (mUsbReceiver!=null){
unregisterReceiver(mUsbReceiver);
}
if (mReceiver!=null){
unregisterReceiver(mReceiver);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,229 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import tspl.HPRTPrinterHelper;
public class Activity_PRNFile extends Activity
{
private ListView listV = null;
private List<File> list = null;
private int a[] = {R.drawable.icon_folder,R.drawable.icon_prn,R.drawable.icon_file_image};
private ArrayList<HashMap<String, Object>> recordItem;
private static final String PREFS_NAME = "MyPrefsFile";
private String FileFilterList="prn,";
private File FolderPath;
private Context thisCon;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_prn_file);
listV = (ListView)findViewById(R.id.list);
Intent iFilePath = getIntent();
FolderPath=new File(iFilePath.getStringExtra("Folder"));
FileFilterList=iFilePath.getStringExtra("FileFilter");
list_files();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
try
{
switch(resultCode)
{
case HPRTPrinterHelper.ACTIVITY_IMAGE_FILE:
setResult(HPRTPrinterHelper.ACTIVITY_IMAGE_FILE, data);
this.finish();
case HPRTPrinterHelper.ACTIVITY_PRNFILE:
setResult(HPRTPrinterHelper.ACTIVITY_PRNFILE, data);
this.finish();
}
}
catch(Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_PRNFile --> onActivityResult ")).append(e.getMessage()).toString());
}
}
private void list_files()
{
File[] file = FolderPath.listFiles();
fill(file);
}
private void fill(File[] file)
{
SimpleAdapter adapter = null;
recordItem = new ArrayList<HashMap<String, Object>>();
list = new ArrayList<File>();
List<String> fDir = new ArrayList<String>();
List<String> fDirPath = new ArrayList<String>();
List<String> fFile = new ArrayList<String>();
List<String> fFilePath = new ArrayList<String>();
List<String> fAllFile = new ArrayList<String>();
List<String> fAllFilePath = new ArrayList<String>();
for(File f: file)
{
if(f.isDirectory())
{
if(!f.getName().substring(0,1).equals("."))
{
fDir.add(f.getName());
fDirPath.add(f.getAbsolutePath());
}
}
else
{
if(!f.getName().substring(0,1).equals("."))
{
fFile.add(f.getName());
fFilePath.add(f.getAbsolutePath());
}
}
}
Collections.sort(fDir,String.CASE_INSENSITIVE_ORDER);
Collections.sort(fDirPath,String.CASE_INSENSITIVE_ORDER);
Collections.sort(fFile,String.CASE_INSENSITIVE_ORDER);
Collections.sort(fFilePath,String.CASE_INSENSITIVE_ORDER);
for(int i=0;i<fDir.size();i++)
{
fAllFile.add(fDir.get(i));
fAllFilePath.add(fDirPath.get(i));
}
for(int i=0;i<fFile.size();i++)
{
fAllFile.add(fFile.get(i));
fAllFilePath.add(fFilePath.get(i));
}
File fileTemp=null;
int intFileType=0;
String strFilePrefix="";
String strFileName="";
for(int i=0;i<fAllFile.size();i++)
{
fileTemp=new File(fAllFilePath.get(i));
strFileName=fileTemp.getName();
strFilePrefix=strFileName.substring(strFileName.lastIndexOf(".")+1);
if (!fileTemp.isDirectory() && (!FileFilterList.equals("") && !FileFilterList.contains(strFilePrefix+",")))
continue;
intFileType=Invalid(fileTemp);
if(intFileType == -1)
{
list.add(fileTemp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[0]);
map.put("name", strFileName);
recordItem.add(map);
}
if(intFileType == 0)
{
list.add(fileTemp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[1]);
map.put("name", strFileName);
recordItem.add(map);
}
if(intFileType == 1)
{
list.add(fileTemp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[2]);
map.put("name", strFileName);
recordItem.add(map);
}
}
if(list.size()==0)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("picture", a[0]);
map.put("name", "...");
recordItem.add(map);
}
adapter = new SimpleAdapter(this, recordItem, R.layout.file_item_bar, new String[]{"picture", "name"}, new int[]{R.id.picture, R.id.text});
listV.setAdapter(adapter);
listV.setOnItemClickListener(new Clicker());
}
private int Invalid(File f)
{
String strFilePrefix="";
String strFileName="";
strFileName=f.getName();
strFilePrefix=strFileName.substring(strFileName.lastIndexOf(".")+1);
String strType0="prn,";
String strType1="gif,png,jpg,bmp,";
if(strType0.contains(strFilePrefix.toLowerCase()+","))
{
return 0;
}
else if(strType1.contains(strFilePrefix.toLowerCase()+","))
{
return 1;
}
else
{
return -1;
}
}
private class Clicker implements OnItemClickListener
{
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
if(list.size()==0)
finish();
else
{
File file = list.get(arg2);
if(file.isFile())
{
int ResultType=(Invalid(file)==0?HPRTPrinterHelper.ACTIVITY_PRNFILE:HPRTPrinterHelper.ACTIVITY_IMAGE_FILE);
Intent myIntent = new Intent();
myIntent.setClass(Activity_PRNFile.this, Activity_PRNFile.class);
myIntent.putExtra("FilePath", file.getAbsolutePath());
setResult(ResultType, myIntent);
finish();
}
else
{
Intent myIntent = new Intent();
myIntent.setClass(Activity_PRNFile.this, Activity_PRNFile.class);
myIntent.putExtra("Folder", file.getAbsolutePath());
myIntent.putExtra("FileFilter", FileFilterList);
startActivityFromChild(Activity_PRNFile.this, myIntent, 10);
}
}
}
}
}

View File

@@ -0,0 +1,125 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.format.DateFormat;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.Toast;
import java.io.File;
import java.util.Calendar;
import java.util.Locale;
import tspl.PublicFunction;
public class Activity_Print_Image extends Activity
{
String TempFilePath=Environment.getExternalStorageDirectory().toString()+"/HPRTSDKSample/";
String TempFileName=TempFilePath+"temp.jpg";
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_print_image);
if(PublicFunction.ExistSDCard())
{
File TempFolder = new File(TempFilePath);
if(!TempFolder.exists())
TempFolder.mkdirs();//
}
else
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Print_Image --> onCreate ")).append("SD card is not avaiable/writeable right now.").toString());
this.finish();
}
}
public void onClickPhoto(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(TempFileName)));
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 1);
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Print_Image --> onClickPhoto ")).append(e.getMessage()).toString());
}
}
public void onClickGallery(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
Intent myIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(myIntent, 20);
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Print_Image --> onClickPrint ")).append(e.getMessage()).toString());
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
try
{
String strFilePath;
Bitmap bmp=null;
Cursor cursor;
switch(resultCode)
{
case Activity.RESULT_OK:
new DateFormat();
String name = DateFormat.format("yyyyMMdd_hhmmss",Calendar.getInstance(Locale.CHINA)) + ".jpg";
Toast.makeText(this, name, Toast.LENGTH_LONG).show();
String path = TempFilePath+name;
File file = new File(TempFileName);
boolean blnOK=file.renameTo(new File(path));
bmp = BitmapFactory.decodeFile(path);
//HPRTPrinterHelper.PrintBitmap(bmp,0,0);
case 20:
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
strFilePath = cursor.getString(columnIndex);
cursor.close();
bmp=BitmapFactory.decodeFile(strFilePath);
//HPRTPrinterHelper.PrintBitmap(bmp,0,0);
default:
return;
}
}
catch(Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Main --> onActivityResult ")).append(e.getMessage()).toString());
}
super.onActivityResult(requestCode, resultCode, data);
}
}

View File

@@ -0,0 +1,160 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import tspl.HPRTPrinterHelper;
public class Activity_QRCode extends Activity
{
private Context thisCon=null;
private Spinner spnQRCodeSize=null;
private ArrayAdapter arrQRCodeSize;
private Spinner spnQRCodeModel=null;
private ArrayAdapter arrQRCodeModel;
private Spinner spnQRCodeLevel=null;
private Spinner spnqrcode_rotation=null;
private ArrayAdapter arrQRCoderotation;
private ArrayAdapter arrQRCodeLevel;
private EditText txtQRCodeData=null;
private EditText txtqrcode_x=null;
private EditText txtqrcode_y=null;
private int qrcoderotation=0;
private int QRCodeSize=3;
private String QRCodeModel="A";
private String QRCodeLevel="L";
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_qrcode);
thisCon=this.getApplicationContext();
txtQRCodeData=(EditText)this.findViewById(R.id.txtQRCodeData);
txtqrcode_x=(EditText)this.findViewById(R.id.txtqrcode_x);
txtqrcode_y=(EditText)this.findViewById(R.id.txtqrcode_y);
String[] sList;
spnQRCodeSize = (Spinner) findViewById(R.id.spnQRCodeSize);
sList="1,2,3,4,5,6,7,8,9,10".split(",");
arrQRCodeSize = new ArrayAdapter<String>(Activity_QRCode.this,android.R.layout.simple_spinner_item, sList);
arrQRCodeSize.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnQRCodeSize.setAdapter(arrQRCodeSize);
spnQRCodeSize.setOnItemSelectedListener(new OnItemSelectedQRCodeSize());
spnQRCodeModel = (Spinner) findViewById(R.id.spnQRCodeModel);
sList="A".split(",");
arrQRCodeModel = new ArrayAdapter<String>(Activity_QRCode.this,android.R.layout.simple_spinner_item, sList);
arrQRCodeModel.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnQRCodeModel.setAdapter(arrQRCodeModel);
spnQRCodeModel.setOnItemSelectedListener(new OnItemSelectedQRCodeModel());
spnQRCodeLevel = (Spinner) findViewById(R.id.spnQRCodeLevel);
sList="L,M,Q,H".split(",");
arrQRCodeLevel = new ArrayAdapter<String>(Activity_QRCode.this,android.R.layout.simple_spinner_item, sList);
arrQRCodeLevel.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnQRCodeLevel.setAdapter(arrQRCodeLevel);
spnQRCodeLevel.setOnItemSelectedListener(new OnItemSelectedQRCodeLevel());
spnqrcode_rotation = (Spinner) findViewById(R.id.spnqrcode_rotation);
arrQRCoderotation = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrQRCoderotation=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_hri_rotation, android.R.layout.simple_spinner_item);
arrQRCoderotation.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnqrcode_rotation.setAdapter(arrQRCoderotation);
spnqrcode_rotation.setOnItemSelectedListener(new OnItemSelectedqrcoderotation());
}
private class OnItemSelectedqrcoderotation implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
qrcoderotation=arg2*90;
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedQRCodeSize implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
QRCodeSize=arg2+1;
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedQRCodeModel implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
QRCodeModel=spnQRCodeModel.getSelectedItem().toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedQRCodeLevel implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
QRCodeLevel=spnQRCodeLevel.getSelectedItem().toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
public void onClickPrint(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
String text = txtQRCodeData.getText().toString().trim();
if(text.length()==0){
Toast.makeText(thisCon, getString(R.string.activity_qrcode_no_data), Toast.LENGTH_SHORT).show();
return;
}
text = text.replace("\n", "\r\n");
if(HPRTPrinterHelper.printAreaSize("100", "80")==-1){
Toast.makeText(thisCon,getString(R.string.activity_main_disconnected),Toast.LENGTH_LONG).show();
return;
}
HPRTPrinterHelper.CLS();
HPRTPrinterHelper.printQRcode(txtqrcode_x.getText().toString(), txtqrcode_y.getText().toString(), QRCodeLevel, ""+QRCodeSize, QRCodeModel, ""+qrcoderotation, text);
HPRTPrinterHelper.Print("1","1");
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_QRCode --> onClickPrint ")).append(e.getMessage()).toString());
}
}
}

View File

@@ -0,0 +1,198 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import tspl.PublicFunction;
public class Activity_Setting extends Activity
{
private Spinner spnCodepage=null;
private Spinner spnCut=null;
private Spinner spnCashdrawer=null;
private Spinner spnBuzzer=null;
private Spinner spnFeeds=null;
private ArrayAdapter arrCodepage;
private ArrayAdapter arrCut;
private ArrayAdapter arrCashdrawer;
private ArrayAdapter arrBuzzer;
private ArrayAdapter arrFeeds;
private PublicFunction PFun=null;
private Context thisCon=null;
private PublicAction pAct;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_setting);
spnCodepage = (Spinner) findViewById(R.id.spnCodepage);
arrCodepage = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrCodepage=ArrayAdapter.createFromResource(this, R.array.codepage, android.R.layout.simple_spinner_item);
arrCodepage.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCodepage.setAdapter(arrCodepage);
spnCodepage.setOnItemSelectedListener(new OnItemSelectedCodepage());
spnCut = (Spinner) findViewById(R.id.spnCut);
arrCut = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrCut=ArrayAdapter.createFromResource(this, R.array.cut_paper_list, android.R.layout.simple_spinner_item);
arrCut.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCut.setAdapter(arrCut);
spnCut.setOnItemSelectedListener(new OnItemSelectedCut());
spnCashdrawer = (Spinner) findViewById(R.id.spnCashdrawer);
arrCashdrawer = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrCashdrawer=ArrayAdapter.createFromResource(this, R.array.open_cashdrawer_list, android.R.layout.simple_spinner_item);
arrCashdrawer.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCashdrawer.setAdapter(arrCashdrawer);
spnCashdrawer.setOnItemSelectedListener(new OnItemSelectedCashdrawer());
spnBuzzer = (Spinner) findViewById(R.id.spnBuzzer);
arrBuzzer = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrBuzzer=ArrayAdapter.createFromResource(this, R.array.buzzer_list, android.R.layout.simple_spinner_item);
arrBuzzer.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnBuzzer.setAdapter(arrBuzzer);
spnBuzzer.setOnItemSelectedListener(new OnItemSelectedBuzzer());
spnFeeds = (Spinner) findViewById(R.id.spnFeeds);
arrFeeds = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrFeeds=ArrayAdapter.createFromResource(this, R.array.feeds_list, android.R.layout.simple_spinner_item);
arrFeeds.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnFeeds.setAdapter(arrFeeds);
spnFeeds.setOnItemSelectedListener(new OnItemSelectedFeeds());
thisCon=this.getApplicationContext();
PFun=new PublicFunction(thisCon);
pAct = new PublicAction(thisCon);
InitSetting();
}
private void InitSetting()
{
String SettingValue="";
SettingValue=PFun.ReadSharedPreferencesData("Codepage");
if(SettingValue.equals(""))
{
PFun.WriteSharedPreferencesData("Codepage", "0,PC437(USA:Standard Europe)");
SettingValue="0";
}
spnCodepage.setSelection(Integer.parseInt(SettingValue.split(",")[0]));
SettingValue=PFun.ReadSharedPreferencesData("Cut");
if(SettingValue.equals(""))
{
PFun.WriteSharedPreferencesData("Cut", "0");
SettingValue="0";
}
spnCut.setSelection(Integer.parseInt(SettingValue));
SettingValue=PFun.ReadSharedPreferencesData("Cashdrawer");
if(SettingValue.equals(""))
{
PFun.WriteSharedPreferencesData("Cashdrawer", "0");
SettingValue="0";
}
spnCashdrawer.setSelection(Integer.parseInt(SettingValue));
SettingValue=PFun.ReadSharedPreferencesData("Buzzer");
if(SettingValue.equals(""))
{
PFun.WriteSharedPreferencesData("Buzzer", "0");
SettingValue="0";
}
spnBuzzer.setSelection(Integer.parseInt(SettingValue));
SettingValue=PFun.ReadSharedPreferencesData("Feeds");
if(SettingValue.equals(""))
{
PFun.WriteSharedPreferencesData("Feeds", "0");
SettingValue="0";
}
spnFeeds.setSelection(Integer.parseInt(SettingValue));
}
private class OnItemSelectedCodepage implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
String sCodepage=arrCodepage.getItem(arg2).toString();
PFun.WriteSharedPreferencesData("Codepage", String.valueOf(arg2)+","+sCodepage);
String languageEncode = pAct.LanguageEncode();
Log.e("TAG", "languageEncode:"+languageEncode);
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedCut implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
PFun.WriteSharedPreferencesData("Cut",String.valueOf(arg2));
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedCashdrawer implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
PFun.WriteSharedPreferencesData("Cashdrawer", String.valueOf(arg2));
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedBuzzer implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
PFun.WriteSharedPreferencesData("Buzzer", String.valueOf(arg2));
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
private class OnItemSelectedFeeds implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
PFun.WriteSharedPreferencesData("Feeds", String.valueOf(arg2));
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
}

View File

@@ -0,0 +1,150 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.TextView;
public class Activity_Status extends Activity
{
private Context thisCon;
private TextView txtStatus=null;
private int iStatusMode=1;
private String sStatus="";
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_status);
thisCon=this.getApplicationContext();
txtStatus=(TextView)this.findViewById(R.id.txtStatus);
iStatusMode=this.getIntent().getIntExtra("StatusMode", 1);
// Refresh();
}
public void onClickRefresh(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
// Refresh();
}
catch(Exception e)
{
}
}
// private void Refresh()
// {
// try
// {
// int iReturn=-1;
// byte[] statusData;
// if(iStatusMode == 1) //only transmit status
// {
// statusData=new byte[1];
// iReturn=HPRTPrinterHelper.GetTransmitStatus(1, statusData);
// if(iReturn>0)
// {
// if(statusData[0]==0)
// sStatus=thisCon.getString(R.string.activity_status_transmit_status_no_paper);
// else if(statusData[0]==1)
// sStatus=thisCon.getString(R.string.activity_status_transmit_status_has_paper);
// }
// else
// {
// txtStatus.setText("1"+thisCon.getText(R.string.activity_status_error));
// return;
// }
// }
// /*if(iStatusMode == 32) //mpt-ii mode status
// {
// statusData=new byte[1];
// iReturn=HPRTPrinterHelper.GetTransmitState(32, statusData);
// if(iReturn>0)
// {
// if(statusData[0]==0)
// sStatus=thisCon.getString(R.string.activity_status_transmit_status_no_paper);
// else if(statusData[0]==1)
// sStatus=thisCon.getString(R.string.activity_status_transmit_status_has_paper);
// }
// }*/
// if((iStatusMode & 2) > 0) //have real time status,needn't transmit status
// {
// //get paper status
// statusData=new byte[1];
// iReturn=HPRTPrinterHelper.GetRealTimeStatus((byte)HPRTPrinterHelper.PRINTER_REAL_TIME_STATUS_ITEM_PAPER, statusData);
// if(iReturn<=0)
// {
// txtStatus.setText("2"+thisCon.getText(R.string.activity_status_error));
// return;
// }
// if((statusData[0] & 8)>0)
// sStatus=thisCon.getString(R.string.activity_status_real_time_status_paper_near_end);
// else
// sStatus=thisCon.getString(R.string.activity_status_real_time_status_paper_adquate);
// if((statusData[0] & 64)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_transmit_status_no_paper);
// else
// sStatus+="\n" + thisCon.getString(R.string.activity_status_transmit_status_has_paper);
//
// //get on/off line status
// statusData=new byte[1];
// iReturn=HPRTPrinterHelper.GetRealTimeStatus((byte)HPRTPrinterHelper.PRINTER_REAL_TIME_STATUS_ITEM_PRINTER, statusData);
// if(iReturn<=0)
// {
// txtStatus.setText("3"+thisCon.getText(R.string.activity_status_error));
// return;
// }
// if((statusData[0] & 8)>0)
// {
// //get off line status
// statusData=new byte[1];
// iReturn=HPRTPrinterHelper.GetRealTimeStatus((byte)HPRTPrinterHelper.PRINTER_REAL_TIME_STATUS_ITEM_ONOFFLINE, statusData);
// if(iReturn<=0)
// {
// txtStatus.setText("4"+thisCon.getText(R.string.activity_status_error));
// return;
// }
// if((statusData[0] & 4)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_cover_is_open);
// if((statusData[0] & 8)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_pressed_feed_button);
// if((statusData[0] & 32)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_stopped_no_paper);
// if((statusData[0] & 64)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_has_error);
// }
//
// //get error status
// statusData=new byte[1];
// iReturn=HPRTPrinterHelper.GetRealTimeStatus((byte)HPRTPrinterHelper.PRINTER_REAL_TIME_STATUS_ITEM_ERROR, statusData);
// if(iReturn<0)
// {
// txtStatus.setText("5"+thisCon.getText(R.string.activity_status_error));
// return;
// }
// if((statusData[0] & 8)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_cutter_error);
// if((statusData[0] & 32)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_unrecoverable_error);
// if((statusData[0] & 64)>0)
// sStatus+="\n" + thisCon.getString(R.string.activity_status_real_time_status_auto_recoverable_error);
// }
// if(sStatus.equals(""))
// txtStatus.setText("6"+thisCon.getText(R.string.activity_status_error));
// else
// txtStatus.setText(sStatus);
// }
// catch (Exception e)
// {
// Log.d("HPRTSDKSample", (new StringBuilder("Activity_Status --> Refresh ")).append(e.getMessage()).toString());
// }
// }
}

View File

@@ -0,0 +1,211 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import tspl.HPRTPrinterHelper;
import tspl.PublicFunction;
public class Activity_TextFormat extends Activity
{
private Context thisCon=null;
private PublicFunction PFun=null;
private EditText txtText=null;
private EditText txtformat_x=null;
private EditText txtformat_y=null;
private Spinner spnformat_font=null;
private Spinner spnformat_codepage=null;
private Spinner spnformat_rotation=null;
private ArrayAdapter arrformat_font;
private ArrayAdapter arrformat_codepage;
private ArrayAdapter arrformatrotation;
private Spinner spnformat_x_multiplication=null;
private ArrayAdapter arrformat_x_multiplication;
private Spinner spnformat_y_multiplication=null;
private ArrayAdapter arrformat_y_multiplication;
private String formatfont="0";
private int x_multiplication=1;
private String y_multiplication="0";
private int qrcoderotation=0;
private String codepage="Default";
private String[] mList ;
private int bold=0;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_text_format);
thisCon=this.getApplicationContext();
txtText = (EditText) findViewById(R.id.txtText);
txtformat_x = (EditText) findViewById(R.id.txtformat_x);
txtformat_y = (EditText) findViewById(R.id.txtformat_y);
spnformat_font = (Spinner) findViewById(R.id.spnformat_font);
spnformat_codepage = (Spinner) findViewById(R.id.spnformat_codepage);
String[] sList = "0,1,2,3,4,5,6,7,8,9".split(",");
// String[] sList = getResources().getStringArray(R.array.activity_text_bold);
arrformat_font = new ArrayAdapter<String>(Activity_TextFormat.this,android.R.layout.simple_spinner_item, sList);
arrformat_font.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnformat_font.setAdapter(arrformat_font);
spnformat_font.setOnItemSelectedListener(new OnItemSelectedformatfont());
mList = getResources().getStringArray(R.array.codepage_list);
arrformat_codepage = new ArrayAdapter<String>(Activity_TextFormat.this,android.R.layout.simple_spinner_item, mList);
arrformat_codepage.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnformat_codepage.setAdapter(arrformat_codepage);
spnformat_codepage.setOnItemSelectedListener(new OnItemSelectedCodePage());
spnformat_rotation = (Spinner) findViewById(R.id.spnformat_rotation);
arrformatrotation = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
arrformatrotation=ArrayAdapter.createFromResource(this, R.array.activity_1dbarcodes_hri_rotation, android.R.layout.simple_spinner_item);
arrformatrotation.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnformat_rotation.setAdapter(arrformatrotation);
spnformat_rotation.setOnItemSelectedListener(new OnItemSelectedformatrotation());
sList = "1,2,3,4,5,6,7".split(",");
spnformat_x_multiplication = (Spinner) findViewById(R.id.spnformat_x_multiplication);
arrformat_x_multiplication = new ArrayAdapter<String>(Activity_TextFormat.this,android.R.layout.simple_spinner_item, sList);
arrformat_x_multiplication.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnformat_x_multiplication.setAdapter(arrformat_x_multiplication);
spnformat_x_multiplication.setOnItemSelectedListener(new OnItemSelectedformat_x_multiplication());
spnformat_y_multiplication = (Spinner) findViewById(R.id.spnformat_y_multiplication);
arrformat_y_multiplication = new ArrayAdapter<String>(Activity_TextFormat.this,android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.activity_text_bold));
arrformat_y_multiplication.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnformat_y_multiplication.setAdapter(arrformat_y_multiplication);
spnformat_y_multiplication.setOnItemSelectedListener(new OnItemSelectedformat_y_multiplication());
}
private class OnItemSelectedCodePage implements OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
codepage=mList[position];
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
private class OnItemSelectedformatrotation implements OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3){
qrcoderotation=arg2*90;
}
@Override
public void onNothingSelected(AdapterView<?> arg0){
// TODO Auto-generated method stub
}
}
private class OnItemSelectedformatfont implements OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3){
switch (arg2) {
case 0:
formatfont="0";
break;
case 1:
formatfont="1";
break;
case 2:
formatfont="2";
break;
case 3:
formatfont="3";
break;
case 4:
formatfont="4";
break;
case 5:
formatfont="5";
break;
case 6:
formatfont="6";
break;
case 7:
formatfont="7";
break;
case 8:
formatfont="8";
break;
case 9:
formatfont="9";
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0){
// TODO Auto-generated method stub
}
}
private class OnItemSelectedformat_x_multiplication implements OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3){
x_multiplication=arg2+1;
}
@Override
public void onNothingSelected(AdapterView<?> arg0){
// TODO Auto-generated method stub
}
}
private class OnItemSelectedformat_y_multiplication implements OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
bold=arg2;
}
@Override
public void onNothingSelected(AdapterView<?> arg0){
// TODO Auto-generated method stub
}
}
public void onClickPrint(View view){
if (!checkClick.isClickEvent()) return;
try{
String sText=txtText.getText().toString().trim();
if(sText.length()==0){
Toast.makeText(thisCon, getString(R.string.activity_1dbarcodes_no_data), Toast.LENGTH_SHORT).show();
return;
}
sText = sText.replace("\n", "\r\n");
Log.d("Printer", "sText: "+(HPRTPrinterHelper.bytetohex(sText.getBytes("GBK"))));
if(HPRTPrinterHelper.printAreaSize("100", "30")==-1){
Toast.makeText(thisCon,getString(R.string.activity_main_disconnected),Toast.LENGTH_LONG).show();
return;
}
HPRTPrinterHelper.CLS();
if (bold!=0){
HPRTPrinterHelper.Bold(bold);
}
HPRTPrinterHelper.printText(txtformat_x.getText().toString(), txtformat_y.getText().toString(), formatfont, ""+qrcoderotation, x_multiplication, sText);
if (bold!=0){
HPRTPrinterHelper.Bold(0);
}
HPRTPrinterHelper.Print("1", "1");
}
catch (Exception e){
Log.d("HPRTSDKSample", (new StringBuilder("Activity_TextFormat --> onClickPrint ")).append(e.getMessage()).toString());
}
}
}

View File

@@ -0,0 +1,102 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import tspl.HPRTPrinterHelper;
public class Activity_Wifi extends Activity
{
private Context thisCon=null;
private HPRTPrinterHelper HPRTPrinter=new HPRTPrinterHelper();
private EditText edtIP=null;
private EditText edtPort=null;
private TextView txtTips=null;
// private String PrinterName="";
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_wifi);
thisCon=this.getApplicationContext();
edtIP = (EditText) findViewById(R.id.txtIPAddress);
edtPort = (EditText) findViewById(R.id.txtWifiPort);
txtTips = (TextView) findViewById(R.id.txtTips);
Intent intent = getIntent();
// PrinterName=intent.getStringExtra("PN");
}
public void onClickConnect(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
if(HPRTPrinter!=null)
{
HPRTPrinter.PortClose();
}
String strIP=edtIP.getText().toString().trim();
String strPort=edtPort.getText().toString().trim();
if(strIP.length()==0)
{
Toast.makeText(thisCon, R.string.activity_wifi_noIP, Toast.LENGTH_SHORT).show();
return;
}
// HPRTPrinter=new HPRTPrinterHelper(thisCon,PrinterName);
if(HPRTPrinterHelper.PortOpen("WiFi,"+strIP+","+strPort)!=0)
{
txtTips.setText(thisCon.getString(R.string.activity_main_connecterr));
}
else
{
HPRTPrinterHelper.PortClose();
Intent intent = new Intent();
intent.putExtra("is_connected", "OK");
intent.putExtra("IPAddress", strIP);
intent.putExtra("Port", strPort);
setResult(HPRTPrinterHelper.ACTIVITY_CONNECT_WIFI, intent);
finish();
}
HPRTPrinter=null;
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Wifi --> onClickConnect ")).append(e.getMessage()).toString());
}
}
public void onClickCancel(View view)
{
if (!checkClick.isClickEvent()) return;
try
{
// if(HPRTPrinter!=null)
// {
// }
HPRTPrinterHelper.PortClose();
this.finish();
}
catch (Exception e)
{
Log.d("HPRTSDKSample", (new StringBuilder("Activity_Wifi --> onClickCancel ")).append(e.getMessage()).toString());
}
}
}

View File

@@ -0,0 +1,163 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.app.ProgressDialog;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.Toast;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class BTActivity extends Activity {
@BindView(R.id.recy_history)
RecyclerView recyHistory;
@BindView(R.id.swipe_refresh)
SwipeRefreshLayout swipeRefresh;
@BindView(R.id.activity_bt)
RelativeLayout activityBt;
private Context mContext;
private ListView list_bt;
public BluetoothAdapter myBluetoothAdapter;
private Intent intent;
private BaseQuickAdapter<BluetoothDevice, BaseViewHolder> baseQuickAdapter;
private List<BluetoothDevice> list;
private int tag;
private Bluetooth bluetooth;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bt);
ButterKnife.bind(this);
mContext = getApplicationContext();
initData();
}
private void initData() {
intent = getIntent();
tag = intent.getIntExtra("TAG", RESULT_CANCELED);
ListBluetoothDevice();
}
public void ListBluetoothDevice() {
if ((myBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()) == null) {
Toast.makeText(this, "没有找到蓝牙适配器", Toast.LENGTH_LONG).show();
return;
}
if (!myBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, 2);
}
list = new ArrayList<BluetoothDevice>();
baseQuickAdapter = new BaseQuickAdapter<BluetoothDevice, BaseViewHolder>(android.R.layout.simple_list_item_2, list) {
@Override
protected void convert(BaseViewHolder helper, BluetoothDevice item) {
if (item!=null){
if (item.getName()!=null)
helper.setText(android.R.id.text1, item.getName().isEmpty()?"Null":item.getName());
helper.setText(android.R.id.text2, item.getAddress());
}
}
};
recyHistory.setLayoutManager(new LinearLayoutManager(mContext));
recyHistory.addItemDecoration(new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL));
recyHistory.setAdapter(baseQuickAdapter);
bluetooth = Bluetooth.getBluetooth(this);
initBT();
baseQuickAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Bluetooth.setOnBondState(list.get(position), new Bluetooth.OnBondState() {
@Override
public void bondSuccess() {
if (progressDialog!=null&&progressDialog.isShowing())
progressDialog.dismiss();
Intent intent = new Intent();
intent.putExtra("SelectedBDAddress", list.get(position).getAddress());
setResult(tag, intent);
finish();
}
});
if (list.get(position).getBondState()==BluetoothDevice.BOND_BONDED){
Intent intent = new Intent();
intent.putExtra("SelectedBDAddress", list.get(position).getAddress());
setResult(tag, intent);
finish();
}else{
// Method method = null;
// try {
// method = BluetoothDevice.class.getMethod("createBond");
// Log.d("Print", "开始配对");
// method.invoke(list.get(position));
// } catch (Exception e) {
// }
progressDialog = new ProgressDialog(BTActivity.this);
progressDialog.setMessage(getString(R.string.activity_devicelist_connect));
progressDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
list.get(position).createBond();
}
}).start();
}
}
});
swipeRefresh.setColorSchemeResources(R.color.colorPrimary);
swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
initBT();
if (swipeRefresh.isRefreshing())
swipeRefresh.setRefreshing(false);
}
});
}
private void initBT() {
Log.d("TAG","initBT:");
list.clear();
baseQuickAdapter.notifyDataSetChanged();
bluetooth.doDiscovery();
bluetooth.getData(new Bluetooth.toData() {
@Override
public void succeed(BluetoothDevice bluetoothDevice) {
for (BluetoothDevice printBT : list) {
if (bluetoothDevice.getAddress().equals(printBT.getAddress())) {
return;
}
}
//XiangYinBao_X3,ATOL1
list.add(bluetoothDevice);
baseQuickAdapter.notifyDataSetChanged();
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (bluetooth!=null)
bluetooth.disReceiver();
}
}

View File

@@ -0,0 +1,144 @@
package com.sdk.tspl.demo;
import android.Manifest;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import com.tbruyelle.rxpermissions.RxPermissions;
import rx.functions.Action1;
/**
* Created by NO on 2018/7/24.
*/
public class Bluetooth {
Context context;
static Bluetooth bluetooth;
private BluetoothAdapter mBluetoothAdapter;
toData mTodata;
private static RxPermissions rxPermissions;
public static boolean isStaBond = false;
private static BluetoothDevice mBluetoothDevice;
private static OnBondState mOnBondState;
private Bluetooth(Context context){
this.context=context;
}
public static Bluetooth getBluetooth(Context context){
// if (bluetooth==null){
bluetooth= new Bluetooth(context);
// rxPermissions = new RxPermissions((Activity)context);
// }
return bluetooth;
}
private void registerBroadcast() {
IntentFilter intent = new IntentFilter();
intent.addAction(BluetoothDevice.ACTION_FOUND);// 用BroadcastReceiver来取得搜索结果
intent.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
intent.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
context.registerReceiver(mReceiver, intent);
}
public void doDiscovery(){
if (context!=null){
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
Utility.show(context, "Device does not support Bluetooth");
return;
} else if (!mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.enable();
}
registerBroadcast();
rxPermissions = new RxPermissions((Activity)context);
rxPermissions.request(Manifest.permission.BLUETOOTH_ADMIN,
Manifest.permission.BLUETOOTH,
Manifest.permission.ACCESS_FINE_LOCATION).subscribe(new Action1<Boolean>() {
@Override
public void call(Boolean aBoolean) {
if (aBoolean) {
if (null == mBluetoothAdapter) {
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
}
if (!mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.enable();
}
if (mBluetoothAdapter.isDiscovering()) {
mBluetoothAdapter.cancelDiscovery();
}
mBluetoothAdapter.startDiscovery();
} else {
Utility.show(context,"no bluetooth permission");
}
}
});
}
}
public void getData(toData todata){
mTodata=todata;
}
public interface toData{
public void succeed(BluetoothDevice bluetoothDevice);
}
public void disReceiver(){
isStaBond = false;
if (mReceiver != null&&context!=null)
context.unregisterReceiver(mReceiver);
if (mBluetoothAdapter.isDiscovering())
mBluetoothAdapter.cancelDiscovery();
}
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
BluetoothDevice device = null;
switch (action) {
case BluetoothDevice.ACTION_FOUND:
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if(device.getBluetoothClass().getMajorDeviceClass()==1536){
if (mTodata!=null){
mTodata.succeed(device);
}
}
break;
case BluetoothDevice.ACTION_BOND_STATE_CHANGED:
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
switch (device.getBondState()) {
case BluetoothDevice.BOND_BONDING:
Log.d("Print", "正在配对......");
break;
case BluetoothDevice.BOND_BONDED:
Log.d("Print", "完成配对");
if (mOnBondState!=null&&mBluetoothDevice!=null&&isStaBond){
if (mBluetoothDevice.getAddress().equals(device.getAddress()))
mOnBondState.bondSuccess();
}
break;
case BluetoothDevice.BOND_NONE:
Log.d("Print", "取消配对");
default:
break;
}
break;
case BluetoothAdapter.ACTION_DISCOVERY_FINISHED:
Log.d("Print", "搜索完成");
break;
}
}
};
public static void setOnBondState(BluetoothDevice bluetoothDevice,OnBondState onBondState){
isStaBond=true;
mBluetoothDevice = bluetoothDevice;
mOnBondState = onBondState;
}
interface OnBondState {
void bondSuccess();
}
}

View File

@@ -0,0 +1,18 @@
package com.sdk.tspl.demo;
public class PrinterProperty
{
public static String Barcode="";
public static int PrintableWidth=0;
public static boolean Cut=false;
public static int CutSpacing=0;
public static int TearSpacing=0;
public static int ConnectType=0;
public static boolean Cashdrawer=false;
public static boolean Buzzer=false;
public static boolean Pagemode=false;
public static String PagemodeArea="";
public static boolean GetRemainingPower=false;
public static boolean SampleReceipt=true;
public static int StatusMode=0;
}

View File

@@ -0,0 +1,92 @@
package com.sdk.tspl.demo;
import android.content.Context;
import android.util.Log;
import tspl.HPRTPrinterHelper;
import tspl.PublicFunction;
public class PublicAction
{
private Context context=null;
public PublicAction()
{
}
public PublicAction(Context con)
{
context = con;
}
// public void BeforePrintAction()
// {
// try
// {
// PublicFunction PFun=new PublicFunction(context);
// if(PFun.ReadSharedPreferencesData("Cut").equals("1") && PrinterProperty.Cut)
// HPRTPrinterHelper.CutPaper(HPRTPrinterHelper.HPRT_PARTIAL_CUT,PrinterProperty.CutSpacing);
// if(PFun.ReadSharedPreferencesData("Cashdrawer").equals("1") && PrinterProperty.Cashdrawer)
// HPRTPrinterHelper.OpenCashdrawer(0);
// if(PFun.ReadSharedPreferencesData("Buzzer").equals("1") && PrinterProperty.Buzzer)
// HPRTPrinterHelper.BeepBuzzer((byte)1,(byte)10,(byte)0);
// }
// catch(Exception e)
// {
// Log.e("HPRTSDKSample", (new StringBuilder("PublicAction --> BeforePrintAction ")).append(e.getMessage()).toString());
// }
// }
// public void AfterPrintAction()
// {
// try
// {
// PublicFunction PFun=new PublicFunction(context);
//
// if(PFun.ReadSharedPreferencesData("Cashdrawer").equals("2") && PrinterProperty.Cashdrawer)
// HPRTPrinterHelper.OpenCashdrawer(0);
// if(PFun.ReadSharedPreferencesData("Buzzer").equals("2") && PrinterProperty.Buzzer)
// HPRTPrinterHelper.BeepBuzzer((byte)1,(byte)10,(byte)10);
//
// int iFeed=Integer.valueOf(PFun.ReadSharedPreferencesData("Feeds"));
// ArrayAdapter arrFeeds;
// arrFeeds = new ArrayAdapter<String>(context,android.R.layout.simple_spinner_item);
// arrFeeds=ArrayAdapter.createFromResource(context, R.array.feeds_list, android.R.layout.simple_spinner_item);
// arrFeeds.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// iFeed=(Integer.valueOf(arrFeeds.getItem(iFeed).toString().replace("mm", "")));
// HPRTPrinterHelper.PrintAndFeed(iFeed*4);
// if(PFun.ReadSharedPreferencesData("Cut").equals("2") && PrinterProperty.Cut)
//
// HPRTPrinterHelper.CutPaper(HPRTPrinterHelper.HPRT_PARTIAL_CUT,PrinterProperty.CutSpacing);
// else
// HPRTPrinterHelper.PrintAndFeed(PrinterProperty.TearSpacing);
// }
// catch(Exception e)
// {
// Log.e("HPRTSDKSample", (new StringBuilder("PublicAction --> AfterPrintAction ")).append(e.getMessage()).toString());
// }
// }
public String LanguageEncode()
{
try
{
PublicFunction PFun=new PublicFunction(context);
String sLanguage=PFun.ReadSharedPreferencesData("Codepage").split(",")[1].toString();
String sLEncode="gb2312";
int intLanguageNum=0;
sLEncode=PFun.getLanguageEncode(sLanguage);
// intLanguageNum= PFun.getCodePageIndex(sLanguage);
// HPRTPrinterHelper.SetCharacterSet((byte)intLanguageNum);
HPRTPrinterHelper.LanguageEncode=sLEncode;
return sLEncode;
}
catch(Exception e)
{
Log.e("HPRTSDKSample", (new StringBuilder("PublicAction --> AfterPrintAction ")).append(e.getMessage()).toString());
return "";
}
}
}

View File

@@ -0,0 +1,117 @@
package com.sdk.tspl.demo;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.widget.Toast;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.shockwave.pdfium.PdfDocument;
import com.shockwave.pdfium.PdfiumCore;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* Created by NO on 2017/9/14.
*/
public class Utility {
public static void checkBlueboothPermission(Activity context, String permission, String[] requestPermissions, Callback callback){
if (Build.VERSION.SDK_INT >= 23) {
//校验是否已具有模糊定位权限
if (ContextCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(context, requestPermissions, 100);
} else {
//具有权限
callback.permit();
return;
}
} else {
//系统不高于6.0直接执行
callback.pass();
}
}
public interface Callback {
/**
* API>=23 允许权限
*/
void permit();
/**
* API<23 无需授予权限
*/
void pass();
}
public static void show(final Context context, final String message){
((Activity)context).runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(context,message,Toast.LENGTH_SHORT).show();
}
});
}
//file:PDF文件
//pageNumber:需要生成的页数,例如:"1,2-3",
//pageWidth:需要生成的宽度
public static List<Bitmap> pdfToBitmap(Context context, File file, String pageNumber, int pageWidth) {
ArrayList<Bitmap> ListBitmap = new ArrayList<Bitmap>();
try {
ArrayList<String> list = new ArrayList<String>();
ParcelFileDescriptor parcelFileDescriptor = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
PdfiumCore pdfiumCore = new PdfiumCore(context);
PdfDocument pdfDocument = pdfiumCore.newDocument(parcelFileDescriptor);
int pages = pdfiumCore.getPageCount(pdfDocument);
String[] split = pageNumber.split(",");
for (int i = 0; i < split.length; i++) {
String[] split2 = split[i].split("-");
if (split2.length == 2) {
Integer bigPage = Integer.valueOf(split2[1]);
Integer smallPage = Integer.valueOf(split2[0]);
int page = bigPage - smallPage;
for (int j = 0; j < page + 1; j++) {
if (!list.contains("" + (smallPage + j))) {
list.add("" + (smallPage + j));
}
}
} else {
if (!list.contains(split2[0])) {
list.add(split2[0]);
}
}
}
int width = pageWidth;
int height = 864;
int dpi = 200;
if (list.size() == 0)
return ListBitmap;
for (int pageIndex = 0; pageIndex < list.size(); pageIndex++) {
int page = Integer.valueOf(list.get(pageIndex));
if (0 < page && page <= pages) {
pdfiumCore.openPage(pdfDocument, page - 1);
int pageWidthPoint = pdfiumCore.getPageWidthPoint(pdfDocument, page - 1);
int pageHeightPoint = pdfiumCore.getPageHeightPoint(pdfDocument, page - 1);
double bili = width / (double) pageWidthPoint;
height = (int) (pageHeightPoint * bili);
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
pdfiumCore.renderPageBitmap(pdfDocument, bitmap, page - 1, 0, 0, width, height);
ListBitmap.add(bitmap);
}
}
pdfiumCore.closeDocument(pdfDocument);
} catch (Exception e) {
return ListBitmap;
}
return ListBitmap;
}
}

View File

@@ -0,0 +1,14 @@
package com.sdk.tspl.demo;
public class checkClick{
private static final long CLICK_DELAY = 1000;
private static long mOldClickTime;
public static boolean isClickEvent(){
long time = System.currentTimeMillis();
if (time - mOldClickTime < CLICK_DELAY)
return false;
mOldClickTime = time;
return true;
}
}

View File

@@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

View File

@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
<stroke android:width="2dip" android:color="#DEB887" />
</shape>

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -0,0 +1,169 @@
<?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" >
<ImageView
android:id="@+id/logoImageView"
android:layout_marginTop="2.0dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_type"
android:textSize="20.0dip" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Spinner
android:id="@+id/spnBarcodeType"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="20.0dip"/>
<Button
android:id="@+id/btnHelp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:layout_weight="3"
android:visibility="gone"
android:text="@string/activity_1dbarcodes_btnhelp" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_data"
android:textSize="20.0dip" />
<EditText
android:id="@+id/txtBarcodeData"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:text="123456789"
android:maxLines="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_start_cd"
android:textSize="20.0dip" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:id="@+id/txtBarcode_x"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:layout_weight="1"
android:text="0"
android:maxLines="1"/>
<EditText
android:id="@+id/txtBarcode_y"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:layout_weight="1"
android:text="0"
android:maxLines="1"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_height"
android:textSize="20.0dip" />
<EditText
android:id="@+id/txtBarcodeHeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:text="80"
android:maxLines="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_width"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnBarcodeWidth"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_readable"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnBarcode_readable"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_rotation"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnBarcode_rotation"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_narrow"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnBarcode_narrow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_global_print" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,45 @@
<?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="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_global_align"
android:textSize="20.0dip" />
<RadioGroup
android:id="@+id/radioGroup1"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rdoLeft"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checked="true"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_global_left_align" />
<RadioButton
android:id="@+id/rdoCenter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_global_center_align" />
<RadioButton
android:id="@+id/rdoRight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_global_right_align" />
</RadioGroup>
</LinearLayout>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_bt"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recy_history"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</RelativeLayout>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/btnOpen1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:onClick="onClickOpen1"
android:text="@string/activity_cashdrawer_open1"/>
<Button android:id="@+id/btnOpen2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickOpen2"
android:text="@string/activity_cashdrawer_open2"/>
<Button android:id="@+id/btnOpen12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickOpen12"
android:text="@string/activity_cashdrawer_open12"/>
</LinearLayout>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/btnFullCut"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickFullCut"
android:visibility="gone"
android:text="@string/activity_cut_fullcut"/>
<Button android:id="@+id/btnPartialCut"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:onClick="onClickPartialCut"
android:text="@string/activity_cut_partialcut"/>
<Button android:id="@+id/btnFullCutWithFeed"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickFullCutWithFeed"
android:visibility="gone"
android:text="@string/activity_cut_fullcutwithfeed"/>
<Button android:id="@+id/btnPartialCutWithFeed"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickPartialCutWithFeed"
android:text="@string/activity_cut_partialcutwithfeed"/>
</LinearLayout>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- 已经配对的设备-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView android:id="@+id/title_paired_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/activity_devicelist_title_paired_devices"
android:visibility="gone"
android:background="#666"
android:textColor="#fff"
android:paddingLeft="5dp"/>
<!--已经配对的设备信息 -->
<ListView android:id="@+id/paired_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stackFromBottom="true"
android:layout_weight="1"/>
<!-- 扫描出来没有经过配对的设备 -->
<TextView android:id="@+id/title_new_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/activity_devicelist_title_other_devices"
android:visibility="gone"
android:background="#666"
android:textColor="#fff"
android:paddingLeft="5dp"/>
<!-- 扫描出来没有经过配对的设备信息 -->
<ListView android:id="@+id/new_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stackFromBottom="true"
android:layout_weight="2"/>
<!-- 扫描按钮 -->
<Button android:id="@+id/button_scan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/activity_devicelist_button_scan"/>
</LinearLayout>
<ProgressBar
android:id="@+id/progress"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:visibility="gone"
/>
</RelativeLayout>

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btnGetStatus"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:visibility="gone"
android:text="@string/activity_esc_function_btngetprinterstatus" />
<Button
android:id="@+id/btnOpenCashDrawer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:visibility="gone"
android:text="@string/activity_esc_function_btnopencashdrawer" />
<Button
android:id="@+id/btnSampleReceipt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btnsamplereceipt" />
<Button
android:id="@+id/btn1DBarcodes"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btn1dbarcodes" />
<Button
android:id="@+id/btnQRCode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btnqrcode" />
<Button
android:id="@+id/btnPDF417"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/activity_esc_function_btnpdf417" />
<Button
android:id="@+id/btnCut"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:visibility="gone"
android:text="@string/activity_esc_function_btncut" />
<Button
android:id="@+id/btnTextFormat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btntextformatting" />
<Button
android:id="@+id/btnPrintImageFile"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btnprintimagefile" />
<Button
android:id="@+id/btnPrintStatus"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btnprintstatus" />
<Button
android:id="@+id/btnPrintPRNFile"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:visibility="gone"
android:text="@string/activity_esc_function_btnprintprnfile" />
<Button
android:id="@+id/btnPageMode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:visibility="gone"
android:text="@string/activity_esc_function_btnpagemode" />
<Button
android:id="@+id/btnImageManage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:visibility="gone"
android:text="@string/activity_esc_function_btnimagemanage" />
<Button
android:id="@+id/btnPrintBlock"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDo"
android:text="@string/activity_esc_function_btnprintblock" />
<Button
android:id="@+id/btn_print_pdf"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/activity_esc_function_btnprintpdf"
android:onClick="onClickDo"
/>
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,66 @@
<?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" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_image_manage_imageno"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnImageIndex"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
</LinearLayout>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_image_manage_btnprint" />
<Button
android:id="@+id/btnDownload"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDownload"
android:text="@string/activity_image_manage_btndownload" />
<Button
android:id="@+id/btnDeleteOne"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDeleteOne"
android:text="@string/activity_image_manage_btndeleteone" />
<Button
android:id="@+id/btnDeleteAll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDeleteAll"
android:text="@string/activity_image_manage_btndeleteall" />
<TextView
android:id="@+id/txtSpace"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/activity_image_manage_txtSpace"
android:textSize="20.0dip" />
<TextView
android:id="@+id/txtCounter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/activity_image_manage_txtCounter"
android:textSize="20.0dip" />
</LinearLayout>

View File

@@ -0,0 +1,40 @@
<?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" >
<!-- <WebView
android:id="@+id/webPreview"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.12" /> -->
<ImageView
android:id="@+id/webPreview"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_alignParentLeft="true"
android:layout_weight="0.12"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnCancel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickCancel"
android:layout_weight="1.0"
android:text="@string/activity_image_manage_btnprint" />
<Button
android:id="@+id/btnOK"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickOK"
android:layout_weight="1.0"
android:text="@string/activity_image_manage_btnprint" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,16 @@
<?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" >
<include layout="@layout/activity_align"/>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_global_print" />
</LinearLayout>

View File

@@ -0,0 +1,14 @@
<?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:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/logoImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/logo" />
</LinearLayout>

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:orientation="horizontal">
<TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3.0dip"
android:text="@string/activity_main_printer"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spn_printer_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp">
<Button
android:id="@+id/btnBT"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickConnect"
android:text="@string/activity_main_bt" />
<Button
android:id="@+id/btnWIFI"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickConnect"
android:text="@string/activity_main_wifi" />
<Button
android:id="@+id/btnUSB"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickConnect"
android:text="@string/activity_main_usb" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtTips"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3.0dip"
android:text="@string/activity_main_tips"
android:layout_weight="1.0"
android:textSize="16.0dip" />
<Button
android:id="@+id/btnClose"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2.0"
android:onClick="onClickClose"
android:text="@string/activity_main_close" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnSetting"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickbtnSetting"
android:visibility="gone"
android:text="@string/activity_main_setting" />
<Button
android:id="@+id/btnPrintTestPage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickDo"
android:text="@string/activity_main_print_test_page" />
</LinearLayout>
<include layout="@layout/activity_esc_function"/>
</LinearLayout>

View File

@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edtText"
android:layout_marginTop="2.0dip"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:layout_width="fill_parent"
android:layout_height="120sp"
android:inputType="textMultiLine"
android:background="@drawable/my_edittext"
android:gravity="top"
android:text="@string/activity_text_format_sampletext" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtLeftMargin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_left_margin"
android:textSize="20.0dip" />
<EditText
android:id="@+id/edtLeftMargin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:digits="0123456789"
android:text="0"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtTopMargin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_top_margin"
android:textSize="20.0dip" />
<EditText
android:id="@+id/edtTopMargin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:digits="0123456789"
android:text="0"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtWidth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_width"
android:textSize="20.0dip" />
<EditText
android:id="@+id/edtWidth"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:digits="0123456789"
android:text="200"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_height"
android:textSize="20.0dip" />
<EditText
android:id="@+id/edtHeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:digits="0123456789"
android:text="200"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtHPosition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_hposition"
android:textSize="20.0dip" />
<EditText
android:id="@+id/edtHPosition"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:digits="0123456789"
android:text="0"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txtVPosition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_vposition"
android:textSize="20.0dip" />
<EditText
android:id="@+id/edtVPosition"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:digits="0123456789"
android:text="0"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_page_mode_print_direction"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnPrintDirection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
</LinearLayout>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_global_print" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,208 @@
<?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" >
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_qrcode_data"
android:textSize="20.0dip" />
<EditText
android:id="@+id/txtpdf417Data"
android:layout_width="fill_parent"
android:layout_height="80sp"
android:inputType="textMultiLine"
android:background="@drawable/my_edittext"
android:textColor="#000000"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_dataColumns"
android:textSize="20.0dip"
/>
<EditText
android:id="@+id/txtpdf417dataColumns"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_edittext"
android:textColor="#000000"
android:textSize="20sp"
android:hint="0 ≤ n ≤ 30"
android:textStyle="bold"
android:inputType="number"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_dataRows"
android:textSize="20.0dip"
/>
<EditText
android:id="@+id/txtpdf417dataRows"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_edittext"
android:textColor="#000000"
android:textSize="20sp"
android:hint="3 ≤ n ≤ 90"
android:textStyle="bold"
android:inputType="number"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="50dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_moduleWidth"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnpdf417moduleWidth"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
</LinearLayout>
<LinearLayout
android:layout_width="50dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_rowHeight"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnpdf417rowHeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
</LinearLayout>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_errorMode"
android:textSize="20.0dip" />
<RadioGroup
android:id="@+id/rg_pdf417_errorMode"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rb_pdf417_hierarchicalMode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checked="true"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_pdf417_hierarchicalMode" />
<RadioButton
android:id="@+id/rb_pdf417_RatioMode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_pdf417_RatioMode" />
</RadioGroup>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_errorLevel"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spn_pdf417_errorLevel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
</LinearLayout>
<!-- <TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_qrcode_model"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnQRCodeModel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" /> -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_pdf417_options"
android:textSize="20.0dip" />
<RadioGroup
android:id="@+id/rg_pdf417_options"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rb_pdf417_standardMode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checked="true"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_pdf417_standardMode" />
<RadioButton
android:id="@+id/rb_pdf417_compressionMode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:textSize="20.0dip"
android:text="@string/activity_pdf417_compressionMode" />
</RadioGroup>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_global_print" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/btnPhoto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickPhoto"
android:text="@string/activity_image_photo"/>
<Button android:id="@+id/btnGallery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickGallery"
android:text="@string/activity_image_gallery"/>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:background="#ffffff"
android:layout_height="fill_parent">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"/>
</LinearLayout>

View File

@@ -0,0 +1,130 @@
<?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" >
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/logoImageView"
android:layout_marginTop="2.0dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_qrcode_data"
android:textSize="20.0dip" />
<EditText
android:id="@+id/txtQRCodeData"
android:layout_width="fill_parent"
android:layout_height="80sp"
android:inputType="textMultiLine"
android:background="@drawable/my_edittext"
android:textColor="#000000"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_start_cd"
android:textSize="20.0dip" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:id="@+id/txtqrcode_x"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:layout_weight="1"
android:text="0"
android:maxLines="1"/>
<EditText
android:id="@+id/txtqrcode_y"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:layout_weight="1"
android:text="0"
android:maxLines="1"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_qrcode_size"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnQRCodeSize"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_qrcode_model"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnQRCodeModel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_qrcode_level"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnQRCodeLevel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_rotation"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnqrcode_rotation"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_global_print" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/itemName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_setting_codepage"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnCodepage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_setting_cut"
android:visibility="gone"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnCut"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:textSize="20.0dip"/>
<TextView
android:id="@+id/itemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_setting_cashdrawer"
android:visibility="gone"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnCashdrawer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:textSize="20.0dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_setting_buzzer"
android:visibility="gone"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnBuzzer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:textSize="20.0dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_setting_feed"
android:visibility="gone"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnFeeds"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:textSize="20.0dip" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txtStatus"
android:layout_width="match_parent"
android:layout_height="160.0dip"
android:text=""
android:textSize="20.0dip" />
<Button android:id="@+id/btnRefresh"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickRefresh"
android:text="@string/activity_status_btnrefresh"/>
</LinearLayout>

View File

@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false"
android:id="@+id/preview_dashboard_v"
android:background="#ffebebeb"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txtText"
android:layout_marginTop="2.0dip"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:layout_width="fill_parent"
android:layout_height="120sp"
android:inputType="textMultiLine"
android:background="@drawable/my_edittext"
android:gravity="top"
android:text="" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_start_cd"
android:textSize="20.0dip" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:id="@+id/txtformat_x"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:layout_weight="1"
android:text="0"
android:maxLines="1"/>
<EditText
android:id="@+id/txtformat_y"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:layout_weight="1"
android:text="0"
android:maxLines="1"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_text_format_codepage"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnformat_codepage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_text_format_font"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnformat_font"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_1dbarcodes_rotation"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnformat_rotation"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_text_format_x_multiplication"
android:textSize="20.0dip" />
<Spinner
android:id="@+id/spnformat_x_multiplication"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_text_format_chkbold"
android:textSize="20.0dip"
/>
<Spinner
android:id="@+id/spnformat_y_multiplication"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20.0dip"
/>
<Button
android:id="@+id/btnPrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickPrint"
android:text="@string/activity_global_print" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:orientation="horizontal">
<TextView android:id="@+id/lblIPAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_wifi_lblipaddress"
android:textSize="20.0dip"/>
<EditText
android:id="@+id/txtIPAddress"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:text="@string/activity_wifi_ip"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/lblPort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_wifi_lblport"
android:digits="0123456789."
android:textSize="20.0dip"/>
<EditText
android:id="@+id/txtWifiPort"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:maxLines="1"
android:text="@string/activity_wifi_port"
android:digits="0123456789"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/btnconnect"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickConnect"
android:text="@string/activity_wifi_btnconnect"/>
<Button android:id="@+id/btncancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:onClick="onClickCancel"
android:text="@string/activity_wifi_btncancel"/>
</LinearLayout>
<TextView
android:id="@+id/txtTips"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3.0dip"
android:text="@string/activity_main_tips"
android:textSize="20.0dip" />
</LinearLayout>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemlist"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/picture"
android:layout_margin="2dp"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_marginLeft="10dp"/>
<TextView
android:id="@+id/text"
android:layout_marginLeft="7dp"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:textSize="30dp"
android:textColor="#000000"
android:gravity="center_vertical"
android:layout_gravity="center"/>
</LinearLayout>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,568 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">TSPL</string>
<string name="app_title">TSPL_V1.01.17.01</string>
<string name="action_settings">Settings</string>
<string name="logo_show_time">1500</string>
<string name="activity_global_warning">警告</string>
<string name="activity_global_yes"></string>
<string name="activity_global_no"></string>
<string name="activity_global_print">打印</string>
<string name="activity_global_align">对齐方式:</string>
<string name="activity_global_left_align">左对齐</string>
<string name="activity_global_center_align">居中</string>
<string name="activity_global_right_align">右对齐</string>
<string name="activity_global_cmd_send">指令已发送</string>
<string name="activity_main_printer">打印机:</string>
<string name="activity_main_bt">蓝牙设备</string>
<string name="activity_main_wifi">WIFI设备</string>
<string name="activity_main_usb">USB设备</string>
<string name="activity_main_setting">参数设置</string>
<string name="activity_main_print_test_page">打印测试页</string>
<string name="activity_main_tips">请连接打印机!</string>
<string name="activity_main_scan_error">扫描失败!</string>
<string name="activity_main_scan_success">扫描成功!</string>
<string name="activity_main_connecterr">连接失败!</string>
<string name="activity_main_connected">连接成功!</string>
<string name="activity_main_disconnected">连接断开!</string>
<string name="activity_main_print_image_model">打印模式</string>
<string name="activity_main_connect_usb_printer">请连接USB打印机。</string>
<string name="activity_main_close">断开</string>
<string name="activity_main_originalsize">原大小:</string>
<string name="activity_main_minifront">小字体:</string>
<string name="activity_main_heightsize">倍高:</string>
<string name="activity_main_widthsize">倍宽:</string>
<string name="activity_main_heightwidthsize">倍高倍宽:</string>
<string name="activity_main_bold">加粗:</string>
<string name="activity_main_underline">下划线:</string>
<string-array name="activity_main_sample_2inch_receipt">
<item>" 厦门汉印电子技术有限公司"</item>
<item>" 销售单"</item>
<item>"日期2013-08-20"</item>
<item>"客户:厦门普瑞特"</item>
<item>"仓库二楼A仓库"</item>
<item>"经手人:小张"</item>
<item>"--------------------------------"</item>
<item>"名称 金额"</item>
<item>"--------------------------------"</item>
<item>"MPT-II 777.00"</item>
<item>"--------------------------------"</item>
<item>"MPT-III 888.00"</item>
<item>"--------------------------------"</item>
<item>"LPQ58 999.00"</item>
<item>"--------------------------------"</item>
<item>"合计金额 2664.00"</item>
<item>"--------------------------------"</item>
<item>"操作员:管理员"</item>
<item>"时间2013-08-20 09:30:50"</item>
<item>"电话0592- 5935252"</item>
<item>"地址:湖里区高崎南12路8号5楼"</item>
</string-array>
<string-array name="activity_main_sample_3inch_receipt">
<item>" 厦门汉印电子技术有限公司\n"</item>
<item>" 销售单\n"</item>
<item>"日期2013-08-20\n"</item>
<item>"客户:厦门普瑞特\n"</item>
<item>"仓库二楼A仓库\n"</item>
<item>"经手人:小张\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"名称 金额\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"MPT-II 777.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"MPT-III 888.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"LPQ58 999.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"合计金额 2664.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"操作员:管理员\n"</item>
<item>"时间2013-08-20 09:30:50\n"</item>
<item>"电话0592- 5935252\n"</item>
<item>"地址:湖里区高崎南12路8号5楼\n"</item>
</string-array>
<string name="activity_esc_function_btngetprinterstatus">获取打印机状态</string>
<string name="activity_esc_function_btnopencashdrawer">打开钱箱</string>
<string name="activity_esc_function_btnsamplereceipt">打印标签</string>
<string name="activity_esc_function_btn1dbarcodes">一维条码</string>
<string name="activity_esc_function_btnqrcode">二维码</string>
<string name="activity_esc_function_btnpdf417">PDF417</string>
<string name="activity_esc_function_btncut">切纸</string>
<string name="activity_esc_function_btntextformatting">文本格式</string>
<string name="activity_esc_function_btnprintimagefile">打印图片</string>
<string name="activity_esc_function_btnprintstatus">获取打印机状态</string>
<string name="activity_esc_function_btnprintprnfile">打印Binary文件</string>
<string name="activity_esc_function_btnpagemode">页模式</string>
<string name="activity_esc_function_btnimagemanage">NV位图管理</string>
<string name="activity_esc_function_btngetremainingpower">获取电池余量</string>
<string name="activity_esc_function_btnprintmodel">打印模版</string>
<string name="activity_esc_function_btnprintblock">段落打印</string>
<string name="activity_esc_function_btnprintpdf">打印PDF文件</string>
<string name="activity_devicelist_title_paired_devices">已配对设备</string>
<string name="activity_devicelist_title_other_devices">其它设备</string>
<string name="activity_devicelist_button_scan">扫描蓝牙</string>
<string name="activity_devicelist_none_paired">未配对设备</string>
<string name="activity_devicelist_scanning">扫描中......</string>
<string name="activity_devicelist_select_device">设备列表</string>
<string name="activity_devicelist_connect">连接</string>
<string name="activity_devicelist_get_device_err">获取设备失败:</string>
<string name="activity_devicelist_bond_error">配对失败!Please bond bluetooth printer in settings panel first.</string>
<string name="activity_wifi_lblipaddress">IP地址:</string>
<string name="activity_wifi_lblport">端口:</string>
<string name="activity_wifi_btnconnect">连接</string>
<string name="activity_wifi_btncancel">取消</string>
<string name="activity_wifi_ip">192.168.0.33</string>
<string name="activity_wifi_port">9100</string>
<string name="activity_wifi_noIP">请输入IP地址</string>
<string name="activity_setting_codepage">代码页设置:</string>
<string name="activity_setting_cut">切纸设置:</string>
<string name="activity_setting_cashdrawer">钱箱设置:</string>
<string name="activity_setting_buzzer">蜂鸣器设置:</string>
<string name="activity_setting_feed">打印后走纸:</string>
<string name="activity_status_btnrefresh">刷新</string>
<string name="activity_status_error">获取打印机状态出错。</string>
<string name="activity_status_transmit_status_no_paper">缺纸。</string>
<string name="activity_status_transmit_status_has_paper">有纸。</string>
<string name="activity_status_real_time_status_paper_near_end">纸将尽。</string>
<string name="activity_status_real_time_status_paper_adquate">纸充足。</string>
<string name="activity_status_real_time_status_cover_is_open">上盖打开。</string>
<string name="activity_status_real_time_status_pressed_feed_button">走纸键被按下。</string>
<string name="activity_status_real_time_status_stopped_no_paper">因为纸尽停止打印。</string>
<string name="activity_status_real_time_status_has_error">打印机出错。</string>
<string name="activity_status_real_time_status_cutter_error">切刀错误。</string>
<string name="activity_status_real_time_status_unrecoverable_error">有不可恢复错误。</string>
<string name="activity_status_real_time_status_auto_recoverable_error">有自动恢复错误。</string>
<string name="activity_1dbarcodes_btnhelp">Help</string>
<string name="activity_1dbarcodes_type">条码类型:</string>
<string name="activity_1dbarcodes_data">条码数据:</string>
<string name="activity_1dbarcodes_start_cd">起始坐标:</string>
<string name="activity_1dbarcodes_readable">是否可读:</string>
<string name="activity_1dbarcodes_rotation">方向:</string>
<string name="activity_1dbarcodes_narrow">窄(Dots):</string>
<string name="activity_1dbarcodes_height">条码高度(1≤n≤255):</string>
<string name="activity_1dbarcodes_width">宽(Dots):</string>
<string name="activity_1dbarcodes_no_data">请输入条码数据!</string>
<string name="activity_1dbarcodes_data_error">输入条码格式错误!</string>
<string name="activity_1dbarcodes_UPC_A">075678164125</string>
<string name="activity_1dbarcodes_UPC_E">01227000009</string>
<string name="activity_1dbarcodes_JAN13">6901028075831</string>
<string name="activity_1dbarcodes_JAN8">04210009</string>
<string name="activity_1dbarcodes_ITF">123456789012</string>
<string name="activity_1dbarcodes_CODABAR">A40156B</string>
<string name="activity_1dbarcodes_CODE93">TEST93</string>
<string name="activity_1dbarcodes_CODE39">123456789</string>
<string name="activity_1dbarcodes_CODE128">{BS/N:{C\014\042\070\116A</string>
<string name="status_disconnect">断开连接</string>
<string name="status_timeout">下发数据超时</string>
<string name="status_ok">打印机正常</string>
<string name="status_cover_opened">开盖</string>
<string name="status_nopaper">缺纸</string>
<string name="status_over_heating">过热</string>
<string name="status_printing">打印中</string>
<string-array name="activity_1dbarcodes_barcode_type">
<item>"128"</item>
<item>"128M"</item>
<item>"EAN128"</item>
<item>"25"</item>
<item>"25C"</item>
<item>"39"</item>
<item>"39C"</item>
<item>"93"</item>
<!-- 保存到共享数据的值0123 -->
</string-array>
<string-array name="activity_1dbarcodes_hri_position">
<item>"不可读"</item>
<item>"可读的"</item>
</string-array>
<string-array name="activity_1dbarcodes_hri_rotation">
<item>"0"</item>
<item>"90"</item>
<item>"180"</item>
<item>"270"</item>
</string-array>
<string-array name="activity_1dbarcodes_width">
<item>"2"</item>
<item>"3"</item>
<item>"4"</item>
<item>"5"</item>
<item>"6"</item>
</string-array>
<string name="activity_pdf417_dataColumns">列数:</string>
<string name="activity_pdf417_dataRows">行数:</string>
<string name="activity_pdf417_moduleWidth">模块宽度:</string>
<string name="activity_pdf417_rowHeight">行高:</string>
<string name="activity_pdf417_errorMode">纠错:</string>
<string name="activity_pdf417_errorLevel">纠错等级:</string>
<string name="activity_pdf417_hierarchicalMode">等级模式:</string>
<string name="activity_pdf417_RatioMode">比率模式:</string>
<string name="activity_pdf417_options">选择可选项:</string>
<string name="activity_pdf417_standardMode">标准模式:</string>
<string name="activity_pdf417_compressionMode">压缩模式:</string>
<string name="activity_pdf417_no_data">请输入pdf417数据</string>
<string name="activity_pdf417_no_dataColumns">请输入列数!</string>
<string name="activity_pdf417_no_dataRows">请输入行数!</string>
<string name="activity_qrcode_data">数据:</string>
<string name="activity_qrcode_size">尺寸:</string>
<string name="activity_qrcode_model">二维码类型:</string>
<string name="activity_qrcode_level">容错等级:</string>
<string name="activity_qrcode_no_data">请输入二维码数据!</string>
<string name="activity_cut_fullcut">全切纸</string>
<string name="activity_cut_partialcut">半切纸</string>
<string name="activity_cut_fullcutwithfeed">走纸并全切</string>
<string name="activity_cut_partialcutwithfeed">走纸并半切</string>
<string name="activity_text_format_chkdoublewidth">倍宽</string>
<string name="activity_text_format_chkdoubleheight">倍高</string>
<string name="activity_text_format_chkunderline">下划线</string>
<string name="activity_text_format_chkbold">加粗</string>
<string name="activity_text_format_chkminifont">小字体</string>
<string name="activity_text_format_chkturnwhite">反白</string>
<string name="activity_text_format_heighmultiple">倍高</string>
<string name="activity_text_format_widthmultiple">倍宽</string>
<string name="activity_text_format_leftmargin">左边距(Max 255):</string>
<string name="activity_text_format_sampletext">Send this sample text to printer.</string>
<string name="activity_text_format_font">字体:</string>
<string name="activity_text_format_codepage">CodePage:</string>
<string name="activity_text_format_x_multiplication">字体大小 :</string>
<string name="activity_text_format_y_multiplication">y轴增幅 :</string>
<string-array name="activity_text_bold">
<item >"否"</item>
<item >"是"</item>
</string-array>
<string-array name="activity_text_format_multiple">
<item>"1"</item>
<item>"2"</item>
<item>"3"</item>
<item>"4"</item>
<item>"5"</item>
<item>"6"</item>
<item>"7"</item>
<item>"8"</item>
</string-array>
<string name="activity_cashdrawer_open1">打开1号钱箱</string>
<string name="activity_cashdrawer_open2">打开2号钱箱</string>
<string name="activity_cashdrawer_open12">打开1号和2号钱箱</string>
<string name="activity_image_photo">拍照</string>
<string name="activity_image_gallery">图库</string>
<string name="activity_page_mode_left_margin">左边距(0≤n≤*)</string>
<string name="activity_page_mode_top_margin">上边距(0≤n≤*)</string>
<string name="activity_page_mode_width">宽度(1≤n≤*)</string>
<string name="activity_page_mode_height">高度(1≤n≤*)</string>
<string name="activity_page_mode_hposition">横坐标</string>
<string name="activity_page_mode_vposition">纵坐标</string>
<string name="activity_page_mode_print_direction">打印方向</string>
<string name="activity_page_mode_invalid_parameter">无效的参数!</string>
<string-array name="activity_page_mode_print_direction_list">
<item>"自左向右"</item>
<item>"自下向上"</item>
<item>"自右向左"</item>
<item>"自上向下"</item>
</string-array>
<string name="activity_image_manage_imageno">图片序号:</string>
<string name="activity_image_manage_btnprint">打印图片</string>
<string name="activity_image_manage_btndownload">图片下载</string>
<string name="activity_image_manage_btndeleteone">删除图片</string>
<string name="activity_image_manage_btndeleteall">删除所有图片</string>
<string name="activity_image_manage_btnrefresh">刷新</string>
<string name="activity_image_manage_txtSpace">图片空间NK剩余MK</string>
<string name="activity_image_manage_txtCounter">已有图片N</string>
<string name="activity_image_manage_delete_one">确定删除选中图片?</string>
<string name="activity_image_manage_delete_all">确定删除所有图片?</string>
<string name="activity_image_manage_print_image_error">图片打印错误。</string>
<string name="activity_image_manage_define_NV_image_success">图片下载成功。</string>
<string name="activity_image_manage_define_NV_image_error">图片下载错误。</string>
<string name="activity_image_manage_download_first">请先下载图片到打印机。</string>
<string name="activity_downloadnv_image">图片路径:</string>
<string name="activity_downloadnv_btnselectimage">选择图片...</string>
<string name="activity_downloadnv_download">下载</string>
<string name="activity_downloadnv_imagesize">图片大小:</string>
<string name="activity_downloadnv_freesize">剩余空间:</string>
<string name="activity_downloadnv_totalsize">总空间:</string>
<!-- 保存到共享数据的值0123456 -->
<string-array name="feeds_list">
<item>"0mm"</item>
<item>"5mm"</item>
<item>"10mm"</item>
<item>"15mm"</item>
<item>"20mm"</item>
<item>"25mm"</item>
<item>"30mm"</item>
</string-array>
<!-- 保存到共享数据的值012 -->
<string-array name="cut_paper_list">
<item>"禁止切纸"</item>
<item>"打印前切纸"</item>
<item>"打印后切纸"</item>
</string-array>
<!-- 保存到共享数据的值012 -->
<string-array name="open_cashdrawer_list">
<item>"禁止钱箱"</item>
<item>"打印前开钱箱"</item>
<item>"打印后开钱箱"</item>
</string-array>
<!-- 保存到共享数据的值012 -->
<string-array name="buzzer_list">
<item>"禁止蜂鸣器"</item>
<item>"打印前蜂鸣器响"</item>
<item>"打印后蜂鸣器响"</item>
</string-array>
<string-array name="print_image_model">
<item>"正常打印"</item>
<item>"压缩数据打印"</item>
</string-array>
<!-- <string-array name="print_image_model">-->
<!-- <item>"标签打印"</item>-->
<!-- <item>"连续纸打印"</item>-->
<!-- </string-array>-->
<string-array name="codepage">
<item>"Default"</item>
<item>"Chinese Simplified"</item>
<item>"Chinese Traditional"</item>
<item>"PC437(USA:Standard Europe)"</item>
<item>"Katakana"</item>
<item>"PC850(Multilingual)"</item>
<item>"PC860(Portuguese)"</item>
<item>"PC863(Canadian-French)"</item>
<item>"PC865(Nordic)"</item>
<item>"PC857(Turkish)"</item>
<item>"PC737(Greek)"</item>
<item>"ISO8859-7(Greek)"</item>
<item>"WPC1252"</item>
<item>"PC866(Cyrillic #2)"</item>
<item>"PC852(Latin 2)"</item>
<item>"PC858(Euro)"</item>
<item>"KU42"</item>
<item>"TIS11(Thai)"</item>
<item>"TIS18(Thai)"</item>
<item>"PC720"</item>
<item>"WPC775"</item>
<item>"PC855(Cyrillic)"</item>
<item>"PC862(Hebrew)"</item>
<item>"PC864(Arabic)"</item>
<item>"ISO8859-2(Latin2)"</item>
<item>"ISO8859-15(Latin9)"</item>
<item>"WPC1250"</item>
<item>"WPC1251(Cyrillic)"</item>
<item>"WPC1253"</item>
<item>"WPC1254"</item>
<item>"WPC1255"</item>
<item>"WPC1256"</item>
<item>"WPC1257"</item>
<item>"WPC1258"</item>
<item>"MIK(Cyrillic/Bulgarian)"</item>
<item>"CP755(East Europe,Latvian 2)"</item>
<item>"Iran"</item>
<item>"Iran II"</item>
<item>"Latvian"</item>
<item>"ISO-8859-1(West Europe)"</item>
<item>"ISO-8859-3(Latin 3)"</item>
<item>"ISO-8859-4(Baltic)"</item>
<item>"ISO-8859-5(Cyrillic)"</item>
<item>"ISO-8859-6(Arabic)"</item>
<item>"ISO-8859-8(Hebrew)"</item>
<item>"ISO-8859-9(Turkish)"</item>
<item>"PC856"</item>
<item>"ABICOMP"</item>
</string-array>
<string name="sdk_type">other</string>
<string-array name="printer_list_all">
<item>"TP801"</item>
<item>"TP805"</item>
<item>"TP806"</item>
<item>"HTP80A"</item>
<item>"HTP80B"</item>
<item>"HTP80C"</item>
<item>"PPTII-A"</item>
<item>"HTP58A"</item>
<item>"PPTII-B"</item>
<item>"HTP58B"</item>
<item>"PPT2-UR"</item>
<item>"PPTD3"</item>
<item>"MPT-II"</item>
<item>"MPT-III"</item>
<item>"HMP80A"</item>
<item>"MPS3"</item>
<item>"MPD2"</item>
<item>"MPT-E2"</item>
<item>"MLP2"</item>
<item>"MPT8"</item>
<item>"LPQ58"</item>
<item>"LPQ80"</item>
<item>"LP106A"</item>
<item>"LP106B"</item>
<item>"PT541"</item>
<item>"PT562"</item>
<item>"PT721"</item>
<item>"POS80A"</item>
<item>"POS80B"</item>
<item>"POS80C"</item>
<item>"POS58A"</item>
<item>"POS58B"</item>
<item>"M-1"</item>
<item>"M-2"</item>
<item>"M-3"</item>
<item>"M-4"</item>
<item>"M-5"</item>
<item>"M-6"</item>
<item>"M-8"</item>
<item>"L-2"</item>
<item>"L-3"</item>
<item>"DT-210"</item>
<item>"DT-230"</item>
<item>"SMP-R381"</item>
<item>"SMP-R385"</item>
<item>"SMP-R386"</item>
<item>"SM-L200"</item>
<item>"MPRINT LP58"</item>
<item>"MPRINT LP80"</item>
<item>"MPRINT G58"</item>
<item>"MPRINT G80"</item>
<item>"TM-58"</item>
<item>"TM-80"</item>
<item>"TM-90"</item>
<item>"DP-24"</item>
<item>"DP-34"</item>
<item>"SGPR-300"</item>
</string-array>
<string-array name="printer_list_hprt">
<item>"TP801"</item>
<item>"TP805"</item>
<item>"TP806"</item>
<item>"HTP80A"</item>
<item>"HTP80B"</item>
<item>"HTP80C"</item>
<item>"PPTII-A"</item>
<item>"HTP58A"</item>
<item>"PPTII-B"</item>
<item>"HTP58B"</item>
<item>"PPT2-UR"</item>
<item>"PPTD3"</item>
<item>"MPT-II"</item>
<item>"MPT-III"</item>
<item>"HMP80A"</item>
<item>"MPS3"</item>
<item>"MPD2"</item>
<item>"MPT-E2"</item>
<item>"MLP2"</item>
<item>"MPT8"</item>
<item>"LPQ58"</item>
<item>"LPQ80"</item>
<item>"LP106A"</item>
<item>"LP106B"</item>
<item>"PT541"</item>
<item>"PT562"</item>
<item>"PT721"</item>
</string-array>
<string-array name="printer_list_mkt">
<item>"POS80A"</item>
<item>"POS80B"</item>
<item>"POS80C"</item>
<item>"POS58A"</item>
<item>"POS58B"</item>
<item>"M-1"</item>
<item>"M-2"</item>
<item>"M-3"</item>
<item>"M-4"</item>
<item>"M-5"</item>
<item>"M-6"</item>
<item>"M-8"</item>
<item>"L-2"</item>
<item>"L-3"</item>
</string-array>
<string-array name="printer_list_mprint">
<item>"MPRINT LP58"</item>
<item>"MPRINT LP80"</item>
<item>"MPRINT G58"</item>
<item>"MPRINT G80"</item>
</string-array>
<string-array name="printer_list_sycrown">
<item>"SMP-R381"</item>
<item>"SMP-R385"</item>
<item>"SMP-R386"</item>
<item>"SM-L200"</item>
</string-array>
<string-array name="printer_list_mgpos">
<item>"TM-58"</item>
<item>"TM-80"</item>
<item>"TM-90"</item>
</string-array>
<string-array name="printer_list_ds">
<item>"DT-210"</item>
<item>"DT-230"</item>
</string-array>
<string-array name="printer_list_cst">
<item>"DP-24"</item>
<item>"DP-34"</item>
</string-array>
<string-array name="printer_list_other">
<item>"Print"</item>
</string-array>
<string-array name="printer_list_tspl">
<item>"LPQ58"</item>
<item>"LPQ80"</item>
<item>"LPQ118"</item>
<item>"LPG4"</item>
<item>"106B"</item>
<item>"108B"</item>
<item>"R42"</item>
<item>"HM-T300"</item>
<item>"SM-L300"</item>
<item>G42</item>
<item>HD100</item>
</string-array>
<string-array name="codepage_list">
<item>"Default"</item>
<item>"Chinese Simplified"</item>
<item>"USA"</item>
<item>"British"</item>
<item>"German"</item>
<item>"French"</item>
<item>"Danish"</item>
<item>"Italian"</item>
<item>"Spanish"</item>
<item>"Swedish"</item>
<item>"Swiss"</item>
<item>"United States"</item>
<item>"Multilingual"</item>
<item>"Slavic"</item>
<item>"Portuguese"</item>
<item>"Canadian/French"</item>
<item>"Nordic"</item>
<item>"Turkish"</item>
<item>"Central Europe"</item>
<item>"Latin I"</item>
<item>"Greek"</item>
<item>"Turkish"</item>
<item>"Iran"</item>
<item>"Iran II"</item>
</string-array>
</resources>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#000000</color>
<color name="colorPrimaryDark">#000000</color>
<color name="colorAccent">#03DAC5</color>
</resources>

View File

@@ -0,0 +1,566 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">TSPL</string>
<string name="app_title">TSPL_V1.01.17.01</string>
<string name="action_settings">Settings</string>
<string name="logo_show_time">1500</string>
<string name="activity_global_warning">Warning</string>
<string name="activity_global_yes">Yes</string>
<string name="activity_global_no">No</string>
<string name="activity_global_print">Print</string>
<string name="activity_global_align">Align:</string>
<string name="activity_global_left_align">Left</string>
<string name="activity_global_center_align">Center</string>
<string name="activity_global_right_align">Right</string>
<string name="activity_global_cmd_send">Printer code is sended.</string>
<string name="activity_main_printer">Printer List:</string>
<string name="activity_main_bt">Bluetooth</string>
<string name="activity_main_wifi">WIFI</string>
<string name="activity_main_usb">USB</string>
<string name="activity_main_setting">Setting</string>
<string name="activity_main_print_test_page">Print Test Page</string>
<string name="activity_main_tips">Please connect to printer!</string>
<string name="activity_main_scan_error">Scan Error!</string>
<string name="activity_main_scan_success">Scan Success!</string>
<string name="activity_main_connecterr">Connect Error!</string>
<string name="activity_main_connected">Connect Success!</string>
<string name="activity_main_disconnected">Print Disconnect!</string>
<string name="activity_main_print_image_model">Print Model</string>
<string name="activity_main_connect_usb_printer">Please connect usb printer.</string>
<string name="activity_main_close">Close</string>
<string name="activity_main_originalsize">OriginalSize:</string>
<string name="activity_main_minifront">MiniFront:</string>
<string name="activity_main_heightsize">HeightSize:</string>
<string name="activity_main_widthsize">WidthSize:</string>
<string name="activity_main_heightwidthsize">HeightWidthSize:</string>
<string name="activity_main_bold">Blod:</string>
<string name="activity_main_underline">Underline:</string>
<string-array name="activity_main_sample_2inch_receipt">
<item>" Xiamen Hanin Electronics\n"</item>
<item>" Technology Co., Ltd.\n"</item>
<item>"\n"</item>
<item>"Room 305A, Ang'ye Buliding\n"</item>
<item>",Pioneering Park,Torch High-\n"</item>
<item>"tech Zone, Xiamen,China\n"</item>
<item>"TEL +86-(0)592-5885991\n"</item>
<item>" C#2\n"</item>
<item>" 2013-08-20\n"</item>
<item>"MPT-II $333.00\n"</item>
<item>"--------------------------------\n"</item>
<item>"MPT-III $444.00\n"</item>
<item>"--------------------------------\n"</item>
<item>"LPQ58 $555.00\n"</item>
<item>"--------------------------------\n"</item>
<item>"\n"</item>
<item>"Before adding tax $1332.00\n"</item>
<item>"tax 5.0% $66.60\n"</item>
<item>"--------------------------------\n"</item>
<item>"total $1398.60\n"</item>
<item>"Customer's payment $1400.00\n"</item>
<item>"Change $1.40\n"</item>
</string-array>
<string-array name="activity_main_sample_3inch_receipt">
<item>" Xiamen Hanin Electronics\n"</item>
<item>" Technology Co., Ltd.\n"</item>
<item>"\n"</item>
<item>"Room 305A, Ang'ye Buliding\n"</item>
<item>",Pioneering Park,Torch High-\n"</item>
<item>"tech Zone, Xiamen,China\n"</item>
<item>"TEL +86-(0)592-5885991\n"</item>
<item>" C#2\n"</item>
<item>" 2013-08-20\n"</item>
<item>"MPT-II $333.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"MPT-III $444.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"LPQ58 $555.00\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"\n"</item>
<item>"Before adding tax $1332.00\n"</item>
<item>"tax 5.0% $66.60\n"</item>
<item>"------------------------------------------------\n"</item>
<item>"total $1398.60\n"</item>
<item>"Customer's payment $1400.00\n"</item>
<item>"Change $1.40\n"</item>
</string-array>
<string name="activity_esc_function_btngetprinterstatus">Get Printer Status</string>
<string name="activity_esc_function_btnopencashdrawer">Open Cash Drawer</string>
<string name="activity_esc_function_btnsamplereceipt">Sample Receipt</string>
<string name="activity_esc_function_btn1dbarcodes">1D Barcodes</string>
<string name="activity_esc_function_btnqrcode">QR Code</string>
<string name="activity_esc_function_btnpdf417">PDF417</string>
<string name="activity_esc_function_btncut">Cut</string>
<string name="activity_esc_function_btntextformatting">Text Formatting</string>
<string name="activity_esc_function_btnprintimagefile">Print Image File</string>
<string name="activity_esc_function_btnprintstatus">Get Print Status</string>
<string name="activity_esc_function_btnprintprnfile">Print Binary File</string>
<string name="activity_esc_function_btnpagemode">Page Mode</string>
<string name="activity_esc_function_btnimagemanage">Manage NV Image</string>
<string name="activity_esc_function_btngetremainingpower">Get Remaining Power</string>
<string name="activity_esc_function_btnprintmodel">Print Model</string>
<string name="activity_esc_function_btnprintblock">Print Block</string>
<string name="activity_esc_function_btnprintpdf">Print PDF</string>
<string name="activity_devicelist_title_paired_devices">Paired devices</string>
<string name="activity_devicelist_title_other_devices">Other devices</string>
<string name="activity_devicelist_button_scan">Scan bluetooth</string>
<string name="activity_devicelist_none_paired">None paired Devices</string>
<string name="activity_devicelist_scanning">Scanning......</string>
<string name="activity_devicelist_select_device"> Devices list</string>
<string name="activity_devicelist_connect">connect</string>
<string name="activity_devicelist_get_device_err">Get Device Error:</string>
<string name="activity_devicelist_bond_error">"Bond error!Please bond bluetooth printer in settings panel first."</string>
<string name="activity_wifi_lblipaddress">IP Address:</string>
<string name="activity_wifi_lblport">Port:</string>
<string name="activity_wifi_btnconnect">Connect</string>
<string name="activity_wifi_btncancel">Cancel</string>
<string name="activity_wifi_ip">192.168.0.33</string>
<string name="activity_wifi_port">9100</string>
<string name="activity_wifi_noIP">Please import IP address</string>
<string name="activity_setting_codepage">Codepage Setting:</string>
<string name="activity_setting_cut">Cut Setting:</string>
<string name="activity_setting_cashdrawer">Casedrawer Setting:</string>
<string name="activity_setting_buzzer">Buzzer Setting:</string>
<string name="activity_setting_feed">After print feeds:</string>
<string name="activity_status_btnrefresh">Refresh</string>
<string name="activity_status_error">Get printer status error.</string>
<string name="activity_status_transmit_status_no_paper">No paper.</string>
<string name="activity_status_transmit_status_has_paper">Has paper.</string>
<string name="activity_status_real_time_status_paper_near_end">Paper is near end.</string>
<string name="activity_status_real_time_status_paper_adquate">Adquate paper.</string>
<string name="activity_status_real_time_status_cover_is_open">Cover is open.</string>
<string name="activity_status_real_time_status_pressed_feed_button">Pressed Feed Button.</string>
<string name="activity_status_real_time_status_stopped_no_paper">Stopped because no paper.</string>
<string name="activity_status_real_time_status_has_error">Printer has error.</string>
<string name="activity_status_real_time_status_cutter_error">Cutter error.</string>
<string name="activity_status_real_time_status_unrecoverable_error">Unrecoverable error occurred.</string>
<string name="activity_status_real_time_status_auto_recoverable_error">Automatically recoverable error.</string>
<string name="activity_1dbarcodes_btnhelp">Help</string>
<string name="activity_1dbarcodes_type">Barcode Type:</string>
<string name="activity_1dbarcodes_data">Barcode Data:</string>
<string name="activity_1dbarcodes_start_cd">The starting coordinates:</string>
<string name="activity_1dbarcodes_readable">human readable:</string>
<string name="activity_1dbarcodes_rotation">rotation:</string>
<string name="activity_1dbarcodes_narrow">narrow:</string>
<string name="activity_1dbarcodes_height">Barcode Height(1≤n≤255):</string>
<string name="activity_1dbarcodes_width">Wide(Dots):</string>
<string name="activity_1dbarcodes_no_data">Please import barcode data!</string>
<string name="activity_1dbarcodes_data_error">import barcode data error</string>
<string name="activity_1dbarcodes_UPC_A">075678164125</string>
<string name="activity_1dbarcodes_UPC_E">01227000009</string>
<string name="activity_1dbarcodes_JAN13">6901028075831</string>
<string name="activity_1dbarcodes_JAN8">04210009</string>
<string name="activity_1dbarcodes_ITF">123456789012</string>
<string name="activity_1dbarcodes_CODABAR">A40156B</string>
<string name="activity_1dbarcodes_CODE93">TEST93</string>
<string name="activity_1dbarcodes_CODE39">123456789</string>
<string name="activity_1dbarcodes_CODE128">{BS/N:{C\014\042\070\116A</string>
<string-array name="activity_1dbarcodes_barcode_type">
<item>"128"</item>
<item>"128M"</item>
<item>"EAN128"</item>
<item>"25"</item>
<item>"25C"</item>
<item>"39"</item>
<item>"39C"</item>
<item>"93"</item>
</string-array>
<string-array name="print_image_model">
<item>"Normal Print"</item>
<item>"Compressed Print"</item>
</string-array>
<!-- 保存到共享数据的值0123 -->
<string-array name="activity_1dbarcodes_hri_position">
<item>"not readable"</item>
<item>"human readable"</item>
</string-array>
<string-array name="activity_1dbarcodes_hri_rotation">
<item>"0"</item>
<item>"90"</item>
<item>"180"</item>
<item>"270"</item>
</string-array>
<string-array name="activity_1dbarcodes_width">
<item>"2"</item>
<item>"3"</item>
<item>"4"</item>
<item>"5"</item>
<item>"6"</item>
</string-array>
<string name="activity_pdf417_dataColumns">dataColumns:</string>
<string name="activity_pdf417_dataRows">dataRows:</string>
<string name="activity_pdf417_moduleWidth">moduleWidth:</string>
<string name="activity_pdf417_rowHeight">rowHeight:</string>
<string name="activity_pdf417_errorMode">errorMode:</string>
<string name="activity_pdf417_errorLevel">errorLevel:</string>
<string name="activity_pdf417_options">options:</string>
<string name="activity_pdf417_standardMode">standardMode:</string>
<string name="activity_pdf417_compressionMode">compressionMode:</string>
<string name="activity_pdf417_hierarchicalMode">levelMode:</string>
<string name="activity_pdf417_RatioMode">RatioMode:</string>
<string name="activity_pdf417_no_data">Please import PDF417 data!</string>
<string name="activity_pdf417_no_dataColumns">Please import PDF417 Columns!</string>
<string name="activity_pdf417_no_dataRows">Please import PDF417 Rows!</string>
<string name="activity_qrcode_data">Data:</string>
<string name="activity_qrcode_size">Cell Size:</string>
<string name="activity_qrcode_model">Model:</string>
<string name="activity_qrcode_level">Correction Level:</string>
<string name="activity_qrcode_no_data">Please import QRCode data!</string>
<string name="activity_cut_fullcut">Full Cut</string>
<string name="activity_cut_partialcut">Partial Cut</string>
<string name="activity_cut_fullcutwithfeed">Full Cut With Feed</string>
<string name="activity_cut_partialcutwithfeed">Partial Cut With Feed</string>
<string name="activity_text_format_chkdoublewidth">Double Width</string>
<string name="activity_text_format_chkdoubleheight">Double Height</string>
<string name="activity_text_format_chkunderline">Underline</string>
<string name="activity_text_format_chkbold">Bold</string>
<string name="activity_text_format_chkminifont">Mini Font</string>
<string name="activity_text_format_chkturnwhite">Turn White</string>
<string name="activity_text_format_heighmultiple">Heigh Multiple</string>
<string name="activity_text_format_widthmultiple">Width Multiple</string>
<string name="activity_text_format_leftmargin">Left Margin(Max 255):</string>
<string name="activity_text_format_sampletext">Send this sample text to printer.</string>
<string name="activity_text_format_font">Font:</string>
<string name="activity_text_format_codepage">CodePage:</string>
<string name="activity_text_format_x_multiplication">Size:</string>
<string name="activity_text_format_y_multiplication">y-multiplication:</string>
<string-array name="activity_text_bold">
<item >"NO"</item>
<item >"YES"</item>
</string-array>
<string-array name="activity_text_format_multiple">
<item>"1"</item>
<item>"2"</item>
<item>"3"</item>
<item>"4"</item>
<item>"5"</item>
<item>"6"</item>
<item>"7"</item>
<item>"8"</item>
</string-array>
<string name="activity_cashdrawer_open1">Open #1 Cashdrawer</string>
<string name="activity_cashdrawer_open2">Open #2 Cashdrawer</string>
<string name="activity_cashdrawer_open12">Open #1 #2 Cashdrawer</string>
<string name="activity_image_photo">Taking Pictures</string>
<string name="activity_image_gallery">Photo Gallery</string>
<string name="activity_page_mode_left_margin">Left Margin(0≤n≤*)</string>
<string name="activity_page_mode_top_margin">Top Margin(0≤n≤*)</string>
<string name="activity_page_mode_width">Width(1≤n≤*)</string>
<string name="activity_page_mode_height">Height(1≤n≤*)</string>
<string name="activity_page_mode_hposition">H Position</string>
<string name="activity_page_mode_vposition">V Position</string>
<string name="activity_page_mode_print_direction">Print Direction</string>
<string name="activity_page_mode_invalid_parameter">Invalid Parameter!</string>
<string-array name="activity_page_mode_print_direction_list">
<item>"Left to right"</item>
<item>"Bottom to top"</item>
<item>"Right to left"</item>
<item>"Top to bottom"</item>
</string-array>
<string name="activity_image_manage_imageno">Image No</string>
<string name="activity_image_manage_btnprint">Print Image</string>
<string name="activity_image_manage_btndownload">Download Image</string>
<string name="activity_image_manage_btndeleteone">Delete Image</string>
<string name="activity_image_manage_btndeleteall">Delete All Image</string>
<string name="activity_image_manage_btnrefresh">Refresh</string>
<string name="activity_image_manage_txtSpace">Total size:NK,Free size:MK</string>
<string name="activity_image_manage_txtCounter">Image count:N</string>
<string name="activity_image_manage_delete_one">Sure delete this image?</string>
<string name="activity_image_manage_delete_all">Sure delete all image?</string>
<string name="activity_image_manage_print_image_error">Print image error.</string>
<string name="activity_image_manage_define_NV_image_success">Download NV image success.</string>
<string name="activity_image_manage_define_NV_image_error">Download NV image error.</string>
<string name="activity_image_manage_download_first">Please download NV image first.</string>
<string name="activity_downloadnv_image">Image Path:</string>
<string name="activity_downloadnv_btnselectimage">Select Image...</string>
<string name="activity_downloadnv_download">Download</string>
<string name="activity_downloadnv_imagesize">Image Size:</string>
<string name="activity_downloadnv_freesize">Free Size:</string>
<string name="activity_downloadnv_totalsize">Total Size:</string>
<string name="status_disconnect">disconnect</string>
<string name="status_timeout">time out</string>
<string name="status_ok">printer ok</string>
<string name="status_cover_opened">cover opened</string>
<string name="status_nopaper">no paper</string>
<string name="status_over_heating">over heating</string>
<string name="status_printing">printing</string>
<!-- 保存到共享数据的值0123456 -->
<string-array name="feeds_list">
<item>"0mm"</item>
<item>"5mm"</item>
<item>"10mm"</item>
<item>"15mm"</item>
<item>"20mm"</item>
<item>"25mm"</item>
<item>"30mm"</item>
</string-array>
<!-- 保存到共享数据的值012 -->
<string-array name="cut_paper_list">
<item>"None"</item>
<item>"Before print cut paper"</item>
<item>"After print cut paper"</item>
</string-array>
<!-- 保存到共享数据的值012 -->
<string-array name="open_cashdrawer_list">
<item>"None"</item>
<item>"Before print open cashdrawer"</item>
<item>"After print open cashdrawer"</item>
</string-array>
<!-- 保存到共享数据的值012 -->
<string-array name="buzzer_list">
<item>"None"</item>
<item>"Before print beeping"</item>
<item>"After print beeping"</item>
</string-array>
<string-array name="codepage">
<item>"Default"</item>
<item>"Chinese Simplified"</item>
<item>"Chinese Traditional"</item>
<item>"PC437(USA:Standard Europe)"</item>
<item>"Katakana"</item>
<item>"PC850(Multilingual)"</item>
<item>"PC860(Portuguese)"</item>
<item>"PC863(Canadian-French)"</item>
<item>"PC865(Nordic)"</item>
<item>"PC857(Turkish)"</item>
<item>"PC737(Greek)"</item>
<item>"ISO8859-7(Greek)"</item>
<item>"WPC1252"</item>
<item>"PC866(Cyrillic #2)"</item>
<item>"PC852(Latin 2)"</item>
<item>"PC858(Euro)"</item>
<item>"KU42"</item>
<item>"TIS11(Thai)"</item>
<item>"TIS18(Thai)"</item>
<item>"PC720"</item>
<item>"WPC775"</item>
<item>"PC855(Cyrillic)"</item>
<item>"PC862(Hebrew)"</item>
<item>"PC864(Arabic)"</item>
<item>"ISO8859-2(Latin2)"</item>
<item>"ISO8859-15(Latin9)"</item>
<item>"WPC1250"</item>
<item>"WPC1251(Cyrillic)"</item>
<item>"WPC1253"</item>
<item>"WPC1254"</item>
<item>"WPC1255"</item>
<item>"WPC1256"</item>
<item>"WPC1257"</item>
<item>"WPC1258"</item>
<item>"MIK(Cyrillic/Bulgarian)"</item>
<item>"CP755(East Europe,Latvian 2)"</item>
<item>"Iran"</item>
<item>"Iran II"</item>
<item>"Latvian"</item>
<item>"ISO-8859-1(West Europe)"</item>
<item>"ISO-8859-3(Latin 3)"</item>
<item>"ISO-8859-4(Baltic)"</item>
<item>"ISO-8859-5(Cyrillic)"</item>
<item>"ISO-8859-6(Arabic)"</item>
<item>"ISO-8859-8(Hebrew)"</item>
<item>"ISO-8859-9(Turkish)"</item>
<item>"PC856"</item>
<item>"ABICOMP"</item>
</string-array>
<string name="sdk_type">other</string>
<string-array name="printer_list_all">
<item>"TP801"</item>
<item>"TP805"</item>
<item>"TP806"</item>
<item>"HTP80A"</item>
<item>"HTP80B"</item>
<item>"HTP80C"</item>
<item>"PPTII-A"</item>
<item>"HTP58A"</item>
<item>"PPTII-B"</item>
<item>"HTP58B"</item>
<item>"PPT2-UR"</item>
<item>"PPTD3"</item>
<item>"MPT-II"</item>
<item>"MPT-III"</item>
<item>"HMP80A"</item>
<item>"MPS3"</item>
<item>"MPD2"</item>
<item>"MPT-E2"</item>
<item>"MLP2"</item>
<item>"MPT8"</item>
<item>"LPQ58"</item>
<item>"LPQ80"</item>
<item>"LP106A"</item>
<item>"LP106B"</item>
<item>"PT541"</item>
<item>"PT562"</item>
<item>"PT721"</item>
<item>"POS80A"</item>
<item>"POS80B"</item>
<item>"POS80C"</item>
<item>"POS58A"</item>
<item>"POS58B"</item>
<item>"M-1"</item>
<item>"M-2"</item>
<item>"M-3"</item>
<item>"M-4"</item>
<item>"M-5"</item>
<item>"M-6"</item>
<item>"M-8"</item>
<item>"L-2"</item>
<item>"L-3"</item>
<item>"DT-210"</item>
<item>"DT-230"</item>
<item>"SMP-R381"</item>
<item>"SMP-R385"</item>
<item>"SMP-R386"</item>
<item>"SM-L200"</item>
<item>"MPRINT LP58"</item>
<item>"MPRINT LP80"</item>
<item>"MPRINT G58"</item>
<item>"MPRINT G80"</item>
<item>"TM-58"</item>
<item>"TM-80"</item>
<item>"TM-90"</item>
<item>"DP-24"</item>
<item>"DP-34"</item>
<item>"SGPR-300"</item>
</string-array>
<string-array name="printer_list_hprt">
<item>"TP801"</item>
<item>"TP805"</item>
<item>"TP806"</item>
<item>"HTP80A"</item>
<item>"HTP80B"</item>
<item>"HTP80C"</item>
<item>"PPTII-A"</item>
<item>"HTP58A"</item>
<item>"PPTII-B"</item>
<item>"HTP58B"</item>
<item>"PPT2-UR"</item>
<item>"PPTD3"</item>
<item>"MPT-II"</item>
<item>"MPT-III"</item>
<item>"HMP80A"</item>
<item>"MPS3"</item>
<item>"MPD2"</item>
<item>"MPT-E2"</item>
<item>"MLP2"</item>
<item>"MPT8"</item>
<item>"LPQ58"</item>
<item>"LPQ80"</item>
<item>"LP106A"</item>
<item>"LP106B"</item>
<item>"PT541"</item>
<item>"PT562"</item>
<item>"PT721"</item>
</string-array>
<string-array name="printer_list_mkt">
<item>"POS80A"</item>
<item>"POS80B"</item>
<item>"POS80C"</item>
<item>"POS58A"</item>
<item>"POS58B"</item>
<item>"M-1"</item>
<item>"M-2"</item>
<item>"M-3"</item>
<item>"M-4"</item>
<item>"M-5"</item>
<item>"M-6"</item>
<item>"M-8"</item>
<item>"L-2"</item>
<item>"L-3"</item>
</string-array>
<string-array name="printer_list_mprint">
<item>"MPRINT LP58"</item>
<item>"MPRINT LP80"</item>
<item>"MPRINT G58"</item>
<item>"MPRINT G80"</item>
</string-array>
<string-array name="printer_list_sycrown">
<item>"SMP-R381"</item>
<item>"SMP-R385"</item>
<item>"SMP-R386"</item>
<item>"SM-L200"</item>
</string-array>
<string-array name="printer_list_mgpos">
<item>"TM-58"</item>
<item>"TM-80"</item>
<item>"TM-90"</item>
</string-array>
<string-array name="printer_list_ds">
<item>"DT-210"</item>
<item>"DT-230"</item>
</string-array>
<string-array name="printer_list_cst">
<item>"DP-24"</item>
<item>"DP-34"</item>
</string-array>
<string-array name="printer_list_other">
<item>"Print"</item>
</string-array>
<string-array name="printer_list_tspl">
<item>"LPQ58"</item>
<item>"LPQ80"</item>
<item>"LPQ118"</item>
<item>"LPG4"</item>
<item>"106B"</item>
<item>"108B"</item>
<item>"R42"</item>
<item>"HM-T300"</item>
<item>"SM-L300"</item>
<item>G42</item>
<item>HD100</item>
</string-array>
<string-array name="codepage_list">
<item>"Default"</item>
<item>"Chinese Simplified"</item>
<item>"USA"</item>
<item>"British"</item>
<item>"German"</item>
<item>"French"</item>
<item>"Danish"</item>
<item>"Italian"</item>
<item>"Spanish"</item>
<item>"Swedish"</item>
<item>"Swiss"</item>
<item>"United States"</item>
<item>"Multilingual"</item>
<item>"Slavic"</item>
<item>"Portuguese"</item>
<item>"Canadian/French"</item>
<item>"Nordic"</item>
<item>"Turkish"</item>
<item>"Central Europe"</item>
<item>"Latin I"</item>
<item>"Greek"</item>
<item>"Turkish"</item>
<item>"Iran"</item>
<item>"Iran II"</item>
</string-array>
</resources>

View File

@@ -0,0 +1,19 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppBaseTheme" parent="ThemeOverlay.AppCompat.DayNight.ActionBar">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<style name="my_edittext_style" parent="@android:style/Widget.EditText">
<item name="android:background">@drawable/my_edittext</item>
</style>
</resources>

View File

@@ -0,0 +1,17 @@
package com.sdk.tspl.demo;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}