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
.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
#Wed Sep 24 16:05:42 CEST 2025
gradle.version=6.1.1

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
#Wed Sep 24 15:44:07 CEST 2025
java.home=C\:\\Program Files\\Android\\Android Studio\\jdk-11.0.19

View File

3
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

1
.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
AndroidTSPLDemo

769
.idea/caches/deviceStreaming.xml generated Normal file
View File

@@ -0,0 +1,769 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DeviceStreaming">
<option name="deviceSelectionList">
<list>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="Sony" />
<option name="codename" value="A402SO" />
<option name="id" value="A402SO" />
<option name="manufacturer" value="Sony" />
<option name="name" value="Xperia 10" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2520" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="27" />
<option name="brand" value="DOCOMO" />
<option name="codename" value="F01L" />
<option name="id" value="F01L" />
<option name="manufacturer" value="FUJITSU" />
<option name="name" value="F-01L" />
<option name="screenDensity" value="360" />
<option name="screenX" value="720" />
<option name="screenY" value="1280" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="OnePlus" />
<option name="codename" value="OP535DL1" />
<option name="id" value="OP535DL1" />
<option name="manufacturer" value="OnePlus" />
<option name="name" value="CPH2409" />
<option name="screenDensity" value="401" />
<option name="screenX" value="1080" />
<option name="screenY" value="2412" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="OnePlus" />
<option name="codename" value="OP5552L1" />
<option name="id" value="OP5552L1" />
<option name="manufacturer" value="OnePlus" />
<option name="name" value="CPH2415" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2412" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="OnePlus" />
<option name="codename" value="OP5552L1" />
<option name="id" value="OP5552L1" />
<option name="manufacturer" value="OnePlus" />
<option name="name" value="CPH2415" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2412" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="OPPO" />
<option name="codename" value="OP573DL1" />
<option name="id" value="OP573DL1" />
<option name="manufacturer" value="OPPO" />
<option name="name" value="CPH2557" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="28" />
<option name="brand" value="DOCOMO" />
<option name="codename" value="SH-01L" />
<option name="id" value="SH-01L" />
<option name="manufacturer" value="SHARP" />
<option name="name" value="AQUOS sense2 SH-01L" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2160" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="a14m" />
<option name="id" value="a14m" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-A145R" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2408" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="a15" />
<option name="id" value="a15" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="A15" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="a15x" />
<option name="id" value="a15x" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="A15 5G" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="a16x" />
<option name="id" value="a16x" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="A16 5G" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="a35x" />
<option name="id" value="a35x" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="A35" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="akita" />
<option name="id" value="akita" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="google" />
<option name="codename" value="akita" />
<option name="id" value="akita" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="arcfox" />
<option name="id" value="arcfox" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="razr plus 2024" />
<option name="screenDensity" value="360" />
<option name="screenX" value="1080" />
<option name="screenY" value="1272" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="motorola" />
<option name="codename" value="austin" />
<option name="id" value="austin" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="moto g 5G (2022)" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="b0q" />
<option name="id" value="b0q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S22 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3088" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="b6q" />
<option name="id" value="b6q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Flip 6" />
<option name="screenDensity" value="340" />
<option name="screenX" value="1080" />
<option name="screenY" value="2640" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="32" />
<option name="brand" value="google" />
<option name="codename" value="bluejay" />
<option name="id" value="bluejay" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 6a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="caiman" />
<option name="id" value="caiman" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9 Pro" />
<option name="screenDensity" value="360" />
<option name="screenX" value="960" />
<option name="screenY" value="2142" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="google" />
<option name="codename" value="caiman" />
<option name="id" value="caiman" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9 Pro" />
<option name="screenDensity" value="360" />
<option name="screenX" value="960" />
<option name="screenY" value="2142" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="comet" />
<option name="id" value="comet" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9 Pro Fold" />
<option name="screenDensity" value="390" />
<option name="screenX" value="2076" />
<option name="screenY" value="2152" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="google" />
<option name="codename" value="comet" />
<option name="id" value="comet" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9 Pro Fold" />
<option name="screenDensity" value="390" />
<option name="screenX" value="2076" />
<option name="screenY" value="2152" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="29" />
<option name="brand" value="samsung" />
<option name="codename" value="crownqlteue" />
<option name="id" value="crownqlteue" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Note9" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2220" />
<option name="screenY" value="1080" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="dm2q" />
<option name="id" value="dm2q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="S23 Plus" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="dm3q" />
<option name="id" value="dm3q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S23 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3088" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="dubai" />
<option name="id" value="dubai" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="edge 30" />
<option name="screenDensity" value="405" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="e1q" />
<option name="id" value="e1q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S24" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="e3q" />
<option name="id" value="e3q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S24 Ultra" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1440" />
<option name="screenY" value="3120" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="eos" />
<option name="id" value="eos" />
<option name="manufacturer" value="Google" />
<option name="name" value="Eos" />
<option name="screenDensity" value="320" />
<option name="screenX" value="384" />
<option name="screenY" value="384" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="felix" />
<option name="id" value="felix" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="felix" />
<option name="id" value="felix" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="felix_camera" />
<option name="id" value="felix_camera" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold (Camera-enabled)" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="fogona" />
<option name="id" value="fogona" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="moto g play - 2024" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="fogos" />
<option name="id" value="fogos" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="moto g34 5G" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="g0q" />
<option name="id" value="g0q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-S906U1" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="gta9pwifi" />
<option name="id" value="gta9pwifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-X210" />
<option name="screenDensity" value="240" />
<option name="screenX" value="1200" />
<option name="screenY" value="1920" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="gts7lwifi" />
<option name="id" value="gts7lwifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-T870" />
<option name="screenDensity" value="340" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="gts7xllite" />
<option name="id" value="gts7xllite" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-T738U" />
<option name="screenDensity" value="340" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="gts8uwifi" />
<option name="id" value="gts8uwifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Tab S8 Ultra" />
<option name="screenDensity" value="320" />
<option name="screenX" value="1848" />
<option name="screenY" value="2960" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="gts8wifi" />
<option name="id" value="gts8wifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Tab S8" />
<option name="screenDensity" value="274" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="gts9fe" />
<option name="id" value="gts9fe" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Tab S9 FE 5G" />
<option name="screenDensity" value="280" />
<option name="screenX" value="1440" />
<option name="screenY" value="2304" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="gts9wifi" />
<option name="id" value="gts9wifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-X710" />
<option name="screenDensity" value="340" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="husky" />
<option name="id" value="husky" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8 Pro" />
<option name="screenDensity" value="390" />
<option name="screenX" value="1008" />
<option name="screenY" value="2244" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="motorola" />
<option name="codename" value="java" />
<option name="id" value="java" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="G20" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="komodo" />
<option name="id" value="komodo" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9 Pro XL" />
<option name="screenDensity" value="360" />
<option name="screenX" value="1008" />
<option name="screenY" value="2244" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="google" />
<option name="codename" value="komodo" />
<option name="id" value="komodo" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9 Pro XL" />
<option name="screenDensity" value="360" />
<option name="screenX" value="1008" />
<option name="screenY" value="2244" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="lion" />
<option name="id" value="lion" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="moto g04" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1612" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="lynx" />
<option name="id" value="lynx" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 7a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="lyriq" />
<option name="id" value="lyriq" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="edge 40" />
<option name="screenDensity" value="400" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="motorola" />
<option name="codename" value="manaus" />
<option name="id" value="manaus" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="edge 40 neo" />
<option name="screenDensity" value="400" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="motorola" />
<option name="codename" value="maui" />
<option name="id" value="maui" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="moto g play - 2023" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="o1q" />
<option name="id" value="o1q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S21" />
<option name="screenDensity" value="421" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="google" />
<option name="codename" value="oriole" />
<option name="id" value="oriole" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 6" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="samsung" />
<option name="codename" value="pa3q" />
<option name="id" value="pa3q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S25 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3120" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="panther" />
<option name="id" value="panther" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 7" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="q5q" />
<option name="id" value="q5q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Z Fold5" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1812" />
<option name="screenY" value="2176" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="q6q" />
<option name="id" value="q6q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Z Fold6" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1856" />
<option name="screenY" value="2160" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="google" />
<option name="codename" value="r11" />
<option name="id" value="r11" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Watch" />
<option name="screenDensity" value="320" />
<option name="screenX" value="384" />
<option name="screenY" value="384" />
<option name="type" value="WEAR_OS" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="r11q" />
<option name="id" value="r11q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-S711U" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="google" />
<option name="codename" value="redfin" />
<option name="id" value="redfin" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 5" />
<option name="screenDensity" value="440" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="shiba" />
<option name="id" value="shiba" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="t2q" />
<option name="id" value="t2q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S21 Plus" />
<option name="screenDensity" value="394" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="tangorpro" />
<option name="id" value="tangorpro" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Tablet" />
<option name="screenDensity" value="320" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="google" />
<option name="codename" value="tegu" />
<option name="id" value="tegu" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2424" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="tokay" />
<option name="id" value="tokay" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2424" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="35" />
<option name="brand" value="google" />
<option name="codename" value="tokay" />
<option name="id" value="tokay" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2424" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="36" />
<option name="brand" value="google" />
<option name="codename" value="tokay" />
<option name="id" value="tokay" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 9" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2424" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="xcover7" />
<option name="id" value="xcover7" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="SM-G556B" />
<option name="screenDensity" value="450" />
<option name="screenX" value="1080" />
<option name="screenY" value="2408" />
</PersistentDeviceSelectionData>
</list>
</option>
</component>
</project>

6
.idea/compiler.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
</component>
</project>

10
.idea/deploymentTargetSelector.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

22
.idea/gradle.xml generated Normal file
View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/library" />
<option value="$PROJECT_DIR$/material-spinner-1.0.5" />
</set>
</option>
<option name="resolveExternalAnnotations" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>

10
.idea/migrations.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectMigrations">
<option name="MigrateToGradleLocalJavaHome">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</component>
</project>

10
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

17
.idea/runConfigurations.xml generated Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
</set>
</option>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

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>

Some files were not shown because too many files have changed in this diff Show More