├── .gitignore
├── .idea
├── caches
│ └── build_file_checksums.ser
├── codeStyles
│ └── Project.xml
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── inspectionProfiles
│ ├── Project_Default.xml
│ └── profiles_settings.xml
├── markdown-exported-files.xml
├── markdown-navigator.xml
├── markdown-navigator
│ └── profiles_settings.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
└── vcs.xml
├── README.md
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── config.xml
│ ├── widget_accessory.png
│ ├── widget_accessory_select.png
│ ├── widget_accessory_select2.png
│ ├── widget_caculate.png
│ ├── widget_caculate_select.png
│ ├── widget_caculate_select2.png
│ ├── widget_feature_examine.png
│ ├── widget_feature_examine_select.png
│ ├── widget_feature_examine_select2.png
│ ├── widget_featureedit.png
│ ├── widget_featureedit_select.png
│ ├── widget_featureedit_select2.png
│ ├── widget_layermanager.png
│ ├── widget_layermanager_select.png
│ ├── widget_layermanager_select2.png
│ ├── widget_legend.png
│ ├── widget_legend_select.png
│ ├── widget_legend_select2.png
│ ├── widget_localton_setting.png
│ ├── widget_localton_setting_select.png
│ ├── widget_localton_setting_select2.png
│ ├── widget_projectInfo.png
│ ├── widget_projectInfo_select.png
│ ├── widget_projectInfo_select2.png
│ ├── widget_query.png
│ ├── widget_query_select.png
│ └── widget_query_select2.png
│ ├── java
│ └── com
│ │ └── gisluq
│ │ └── runtimeviewer
│ │ ├── BMOD
│ │ ├── MapModule
│ │ │ ├── BaseWidget
│ │ │ │ ├── BaseWidget.java
│ │ │ │ ├── BaseWidgetControl.java
│ │ │ │ └── WidgetManager.java
│ │ │ ├── Location
│ │ │ │ ├── DMUserLocationManager.java
│ │ │ │ └── EvilTransform.java
│ │ │ ├── Map
│ │ │ │ └── MapManager.java
│ │ │ ├── PartView
│ │ │ │ └── Compass.java
│ │ │ ├── Resource
│ │ │ │ ├── Constant.java
│ │ │ │ └── ResourceConfig.java
│ │ │ ├── Running
│ │ │ │ └── MapConfigInfo.java
│ │ │ └── View
│ │ │ │ └── MapActivity.java
│ │ ├── ProjectsModule
│ │ │ ├── Adapter
│ │ │ │ └── ProjectGridAdapter.java
│ │ │ ├── Model
│ │ │ │ └── ProjectInfo.java
│ │ │ └── View
│ │ │ │ └── MainActivity.java
│ │ ├── RootAct
│ │ │ └── InitActivity.java
│ │ └── SystemModule
│ │ │ ├── AboutActivity.java
│ │ │ ├── LockviewActivity.java
│ │ │ └── LoginActivity.java
│ │ ├── Base
│ │ └── BaseActivity.java
│ │ ├── Common
│ │ ├── DialogTools.java
│ │ └── ToolBarHelper.java
│ │ ├── Config
│ │ ├── AppConfig.java
│ │ ├── AppWorksSpaceInit.java
│ │ ├── Entity
│ │ │ ├── ConfigEntity.java
│ │ │ └── WidgetEntity.java
│ │ ├── SystemDirPath.java
│ │ └── Xml
│ │ │ └── XmlParser.java
│ │ ├── EventBus
│ │ ├── BaseWidgetMsgEvent.java
│ │ ├── EventCode.java
│ │ └── MessageEvent.java
│ │ ├── GloabApp
│ │ └── MPApplication.java
│ │ ├── Permission
│ │ ├── PermissionsActivity.java
│ │ ├── PermissionsChecker.java
│ │ └── PermissionsUtils.java
│ │ ├── Utils
│ │ ├── DialogUtils.java
│ │ ├── FileUtils.java
│ │ ├── StringUtils.java
│ │ └── TimeUtils.java
│ │ └── Widgets
│ │ ├── CalculateWidget
│ │ └── CaculateWidget.java
│ │ ├── FeatureEditWidget
│ │ ├── Adapter
│ │ │ ├── FeatureTempleteAdapter.java
│ │ │ ├── FieldAdapter.java
│ │ │ └── FileAdapter.java
│ │ ├── FeatureEditWidget.java
│ │ ├── Listener
│ │ │ ├── FeatureSelectOnTouchListener.java
│ │ │ └── MapSelectOnTouchListener.java
│ │ ├── Media
│ │ │ ├── AudioRecoderUtils.java
│ │ │ ├── MediaAlertView.java
│ │ │ └── VoiceAlertView.java
│ │ └── Resource
│ │ │ └── DrawToolsResource.java
│ │ ├── HelloWorldWidget.java
│ │ ├── LayerManagerWidget
│ │ ├── Adapter
│ │ │ ├── LayerListviewAdapter.java
│ │ │ └── LegendListviewAdapter.java
│ │ ├── BaseMap
│ │ │ ├── BaseMapManager.java
│ │ │ └── BasemapLayerInfo.java
│ │ ├── LayerManagerWidget.java
│ │ └── UserLayers
│ │ │ └── TianDiTuLayer
│ │ │ ├── TianDiTuLayer.java
│ │ │ └── TianDiTuLayerInfo.java
│ │ └── QueryWidget
│ │ ├── Adapter
│ │ ├── AlertLayerListAdapter.java
│ │ ├── AttributeAdapter.java
│ │ ├── LayerSpinnerAdapter.java
│ │ └── QueryResultAdapter.java
│ │ ├── Bean
│ │ └── KeyAndValueBean.java
│ │ ├── Listener
│ │ └── MapQueryOnTouchListener.java
│ │ └── QueryWidget.java
│ └── res
│ ├── anim
│ ├── widget_enter_left.xml
│ └── widget_exit_left.xml
│ ├── drawable
│ ├── bg_circle_default.xml
│ ├── bg_circle_select.xml
│ ├── ic_bg_circle.xml
│ ├── ic_delete_btn.xml
│ ├── ic_item_touch.xml
│ ├── ic_item_touch_txtred.xml
│ ├── ic_location_bg.xml
│ ├── ic_location_btn_off.xml
│ ├── ic_location_btn_on.xml
│ ├── ic_more_btn.xml
│ ├── ic_touch_btn.xml
│ ├── ic_voice_btn.xml
│ ├── ic_widget_closed_btn.xml
│ ├── ic_widget_down_btn.xml
│ ├── ic_widget_item_touch.xml
│ ├── ic_widget_item_touch_pressed.xml
│ ├── ic_widget_open_btn.xml
│ └── ic_widget_up_btn.xml
│ ├── layout-land
│ ├── activity_init.xml
│ ├── activity_lockview.xml
│ ├── activity_login.xml
│ ├── activity_main.xml
│ └── activity_main_gridview_item.xml
│ ├── layout-large-land
│ ├── activity_init.xml
│ ├── activity_lockview.xml
│ ├── activity_login.xml
│ ├── activity_main.xml
│ └── activity_main_gridview_item.xml
│ ├── layout-large-port
│ ├── activity_init.xml
│ ├── activity_lockview.xml
│ ├── activity_login.xml
│ ├── activity_main.xml
│ └── activity_main_gridview_item.xml
│ ├── layout-large
│ ├── activity_map.xml
│ ├── base_widget_view.xml
│ ├── base_widget_view_tools.xml
│ ├── base_widget_view_tools_widget_btn.xml
│ ├── widget_view_layer_manager.xml
│ └── widget_view_layer_managet_layers_item.xml
│ ├── layout
│ ├── activity_about.xml
│ ├── activity_init.xml
│ ├── activity_lockview.xml
│ ├── activity_login.xml
│ ├── activity_main.xml
│ ├── activity_main_gridview_item.xml
│ ├── activity_map.xml
│ ├── activity_permissions.xml
│ ├── activity_toobar_view.xml
│ ├── activity_toolbar.xml
│ ├── base_widget_view.xml
│ ├── base_widget_view_tools.xml
│ ├── base_widget_view_tools_widget_btn.xml
│ ├── widget_alert_opacity.xml
│ ├── widget_view_calculate.xml
│ ├── widget_view_feature_edit.xml
│ ├── widget_view_feature_edit_alert_attribute.xml
│ ├── widget_view_feature_edit_alert_attribute_fielditem.xml
│ ├── widget_view_feature_edit_alert_mediafiles.xml
│ ├── widget_view_feature_edit_alert_mediafiles_item.xml
│ ├── widget_view_feature_edit_alert_voice.xml
│ ├── widget_view_feature_edit_item.xml
│ ├── widget_view_helloworld.xml
│ ├── widget_view_layer_manager.xml
│ ├── widget_view_layer_manager_layers.xml
│ ├── widget_view_layer_manager_legend.xml
│ ├── widget_view_layer_managet_layers_item.xml
│ ├── widget_view_layer_managet_legent_item.xml
│ ├── widget_view_query.xml
│ ├── widget_view_query_attributequery.xml
│ ├── widget_view_query_attributequery_result_item.xml
│ ├── widget_view_query_attributequery_spinner_item.xml
│ ├── widget_view_query_mapquery.xml
│ ├── widget_view_query_mapquery_alertlayers_item.xml
│ └── widget_view_query_mapquery_fielditem.xml
│ ├── menu
│ ├── menu_layer_handle_tools.xml
│ └── menu_layer_tools.xml
│ ├── mipmap-hdpi
│ ├── base_widget_closed_default.png
│ ├── base_widget_closed_pressed.png
│ ├── base_widget_down_default.png
│ ├── base_widget_down_pressed.png
│ ├── base_widget_open_default.png
│ ├── base_widget_open_pressed.png
│ ├── base_widget_up_default.png
│ ├── base_widget_up_pressed.png
│ ├── cursor_click.png
│ ├── degree.png
│ ├── del_default.png
│ ├── del_pressed.png
│ ├── draw_polyline.png
│ ├── fea_clear.png
│ ├── fea_delete.png
│ ├── fea_draw.png
│ ├── fea_edit_attribute.png
│ ├── fea_goback.png
│ ├── fea_next.png
│ ├── fea_save.png
│ ├── ic_launcher.png
│ ├── ic_launcher_round.png
│ ├── ic_track_explore_loc_content.png
│ ├── main_icon_compass.png
│ ├── main_icon_follow.png
│ ├── polygon.png
│ ├── widget_default_tools.png
│ └── widget_default_tools2.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── a5i.png
│ ├── a5j.png
│ ├── basemap.png
│ ├── basemap_selected.png
│ ├── books.png
│ ├── btn_position.png
│ ├── btn_position_select.png
│ ├── camera.png
│ ├── center_pic.png
│ ├── collect_point.png
│ ├── collect_point1.png
│ ├── collect_point_btn.png
│ ├── collect_point_btn_select.png
│ ├── empty_photo_large.png
│ ├── empty_photo_large2.png
│ ├── field.png
│ ├── ic_launcher.png
│ ├── ic_launcher_round.png
│ ├── ic_maps_indicator_current_position.png
│ ├── ic_more_default.png
│ ├── ic_more_pressed.png
│ ├── map_cross_1.png
│ ├── map_cross_2.png
│ ├── navi_car_circle_grey_preview.png
│ ├── navi_car_circle_preview.png
│ ├── video.png
│ ├── voice.png
│ ├── voice_default.png
│ ├── voice_presed.png
│ ├── voice_start.png
│ ├── voice_stop.png
│ └── widget_default_tools2.png
│ ├── mipmap-xxhdpi
│ ├── center_pic.png
│ ├── ic_launcher.png
│ ├── ic_launcher_round.png
│ ├── select_feature.png
│ ├── target.png
│ └── widget_default_tools2.png
│ ├── mipmap-xxxhdpi
│ ├── compass2.png
│ ├── ic_launcher.png
│ ├── ic_launcher_round.png
│ ├── pin.png
│ ├── search.png
│ └── widget_default_tools2.png
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── colors.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── lib
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── gisluq
│ │ └── lib
│ │ ├── LockPatternView
│ │ └── LockPatternView.java
│ │ └── Util
│ │ ├── AppUtils.java
│ │ ├── CoordinateConversion.java
│ │ ├── DateUtils.java
│ │ ├── DensityUtils.java
│ │ ├── EvilTransform.java
│ │ ├── HttpUtils.java
│ │ ├── ImageUtils.java
│ │ ├── KeyBoardUtils.java
│ │ ├── LogUtils.java
│ │ ├── NetUtils.java
│ │ ├── SDCardUtils.java
│ │ ├── SPUtils.java
│ │ ├── ScreenUtils.java
│ │ ├── StringUtil.java
│ │ ├── SysUtils.java
│ │ └── ToastUtils.java
│ └── res
│ ├── drawable-xhdpi
│ ├── btn_code_lock_default_holo.png
│ ├── btn_code_lock_default_holo2.png
│ ├── btn_code_lock_touched_holo.png
│ ├── indicator_code_lock_point_area_default_holo.png
│ ├── indicator_code_lock_point_area_green_holo.png
│ ├── indicator_code_lock_point_area_red_holo.png
│ ├── pull.png
│ └── xlistview_arrow.png
│ ├── drawable
│ ├── btn_code_lock_default_holo.png
│ ├── btn_code_lock_default_holo2.png
│ ├── btn_code_lock_touched_holo.png
│ ├── indicator_code_lock_drag_direction_green_up.png
│ ├── indicator_code_lock_drag_direction_red_up.png
│ ├── indicator_code_lock_point_area_default_holo.png
│ ├── indicator_code_lock_point_area_green_holo.png
│ ├── indicator_code_lock_point_area_red_holo.png
│ └── magnify_lens.png
│ ├── layout
│ ├── xlistview_footer.xml
│ └── xlistview_header.xml
│ └── values
│ ├── attrs.xml
│ └── strings.xml
├── readme
├── 01-pad.png
├── 02-pad-mian.png
├── 03-pad-helloworld.png
├── 04-app.png
├── 05-app-main.png
├── 06-app-helloworld.png
├── 20180328105641.png
├── widget-xml.png
├── widgets
│ ├── caculate.png
│ ├── edit.png
│ ├── identify.png
│ ├── layer.png
│ ├── legend.png
│ └── query.png
└── 工程结构示例
│ └── RuntimeViewer
│ └── Projects
│ └── 01-测试工程示例
│ ├── BaseMap
│ ├── basemap.json
│ ├── china.vtpk
│ └── 配置说明.txt
│ ├── Media
│ └── Photo
│ │ └── 图层名_要素ID_时间.txt
│ ├── OperationalLayers
│ ├── 一级河流4l.cpg
│ ├── 一级河流4l.dbf
│ ├── 一级河流4l.prj
│ ├── 一级河流4l.sbn
│ ├── 一级河流4l.sbx
│ ├── 一级河流4l.shp
│ ├── 一级河流4l.shp.xml
│ ├── 一级河流4l.shx
│ ├── 一级河流4p.cpg
│ ├── 一级河流4p.dbf
│ ├── 一级河流4p.prj
│ ├── 一级河流4p.sbn
│ ├── 一级河流4p.sbx
│ ├── 一级河流4p.shp
│ ├── 一级河流4p.shp.xml
│ ├── 一级河流4p.shx
│ ├── 首都和省级行政中心4m.cpg
│ ├── 首都和省级行政中心4m.dbf
│ ├── 首都和省级行政中心4m.prj
│ ├── 首都和省级行政中心4m.sbn
│ ├── 首都和省级行政中心4m.sbx
│ ├── 首都和省级行政中心4m.shp
│ ├── 首都和省级行政中心4m.shp.xml
│ └── 首都和省级行政中心4m.shx
│ └── image.png
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | *.apk
3 | *.ap_
4 |
5 | # Files for the ART/Dalvik VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # Generated files
12 | bin/
13 | gen/
14 | out/
15 |
16 | # Gradle files
17 | .gradle/
18 | build/
19 |
20 | # Local configuration file (sdk path, etc)
21 | local.properties
22 |
23 | # Proguard folder generated by Eclipse
24 | proguard/
25 |
26 | # Log Files
27 | *.log
28 |
29 | # Android Studio Navigation editor temp files
30 | .navigation/
31 |
32 | # Android Studio captures folder
33 | captures/
34 |
35 | # IntelliJ
36 | *.iml
37 | .idea/workspace.xml
38 | .idea/tasks.xml
39 | .idea/gradle.xml
40 | .idea/dictionaries
41 | .idea/libraries
42 |
43 | # Keystore files
44 | # Uncomment the following line if you do not want to check your keystore files in.
45 | #*.jks
46 |
47 | # External native build folder generated in Android Studio 2.2 and later
48 | .externalNativeBuild
49 |
50 | # Google Services (e.g. APIs or Firebase)
51 | google-services.json
52 |
53 | # Freeline
54 | freeline.py
55 | freeline/
56 | freeline_project_description.json
57 |
--------------------------------------------------------------------------------
/.idea/caches/build_file_checksums.ser:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/.idea/caches/build_file_checksums.ser
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/markdown-exported-files.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/markdown-navigator/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
16 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 27
5 | buildToolsVersion '27.0.3'
6 |
7 | defaultConfig {
8 | applicationId "com.gisluq.runtimeviewer"
9 | minSdkVersion 24
10 | targetSdkVersion 27
11 | versionCode 1
12 | versionName "v-0.2"
13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
14 | // ndk {
15 | // abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
16 | // }
17 |
18 | //Enabling multidex support.
19 | // multiDexEnabled true
20 | }
21 | buildTypes {
22 | release {
23 | minifyEnabled false
24 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
25 | }
26 | }
27 |
28 | }
29 |
30 | dependencies {
31 | implementation fileTree(include: ['*.jar'], dir: 'libs')
32 | implementation 'com.android.support:appcompat-v7:27.1.0'
33 | implementation 'org.greenrobot:eventbus:3.0.0'
34 | implementation project(':lib')
35 | implementation 'com.android.support:design:27.1.0'
36 | }
37 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\02-Coding\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 | -dontwarn com.tencent.bugly.**
19 | -keep public class com.tencent.bugly.**{*;}
--------------------------------------------------------------------------------
/app/src/main/assets/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
16 |
18 |
20 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/assets/widget_accessory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_accessory.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_accessory_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_accessory_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_accessory_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_accessory_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_caculate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_caculate.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_caculate_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_caculate_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_caculate_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_caculate_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_feature_examine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_feature_examine.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_feature_examine_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_feature_examine_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_feature_examine_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_feature_examine_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_featureedit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_featureedit.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_featureedit_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_featureedit_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_featureedit_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_featureedit_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_layermanager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_layermanager.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_layermanager_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_layermanager_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_layermanager_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_layermanager_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_legend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_legend.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_legend_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_legend_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_legend_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_legend_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_localton_setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_localton_setting.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_localton_setting_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_localton_setting_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_localton_setting_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_localton_setting_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_projectInfo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_projectInfo.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_projectInfo_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_projectInfo_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_projectInfo_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_projectInfo_select2.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_query.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_query.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_query_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_query_select.png
--------------------------------------------------------------------------------
/app/src/main/assets/widget_query_select2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/assets/widget_query_select2.png
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/BMOD/MapModule/Location/EvilTransform.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.BMOD.MapModule.Location;
2 |
3 | /**
4 | * 坐标转换接口
5 | * Created by gis-luq on 2018/4/10.
6 | */
7 | public class EvilTransform {
8 |
9 | private static double pi = 3.14159265358979324;
10 | private static double a = 6378245.0;
11 | private static double ee = 0.00669342162296594323;
12 |
13 | /**
14 | * WGS-84 到 GCJ-02 的转换(即 GPS 加偏)
15 | * @param wgLon
16 | * @param wgLat
17 | * @return
18 | */
19 | public static double[] transform(double wgLon,double wgLat ) {
20 |
21 | double mgLat;
22 | double mgLon;
23 |
24 | if (outOfChina(wgLat, wgLon)) {
25 | mgLat = wgLat;
26 | mgLon = wgLon;
27 | return null;
28 | }
29 | double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
30 | double dLon = transformLon(wgLon - 105.0, wgLat - 35.0);
31 | double radLat = wgLat / 180.0 * pi;
32 | double magic = Math.sin(radLat);
33 | magic = 1 - ee * magic * magic;
34 | double sqrtMagic = Math.sqrt(magic);
35 |
36 | dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
37 | dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
38 |
39 | mgLat = wgLat + dLat;
40 | mgLon = wgLon + dLon;
41 |
42 | return new double[]{mgLon,mgLat};
43 |
44 | }
45 |
46 | /**
47 | * 判断是否在国内区域
48 | * @param lat
49 | * @param lon
50 | * @return
51 | */
52 | public static boolean outOfChina(double lat, double lon) {
53 | if (lon < 72.004 || lon > 137.8347)
54 | return true;
55 | if (lat < 0.8293 || lat > 55.8271)
56 | return true;
57 | return false;
58 | }
59 |
60 | /**
61 | * 纬度转换
62 | * @param x
63 | * @param y
64 | * @return
65 | */
66 | private static double transformLat(double x, double y) {
67 | double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y
68 | + 0.2 * Math.sqrt(Math.abs(x));
69 | ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
70 | ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0;
71 | ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0;
72 | return ret;
73 | }
74 |
75 | /**
76 | * 经度转换
77 | * @param x
78 | * @param y
79 | * @return
80 | */
81 | private static double transformLon(double x, double y) {
82 | double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1
83 | * Math.sqrt(Math.abs(x));
84 | ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
85 | ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0;
86 | ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0
87 | * pi)) * 2.0 / 3.0;
88 | return ret;
89 | }
90 |
91 | }
92 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/BMOD/MapModule/Resource/Constant.java:
--------------------------------------------------------------------------------
1 | ////////////////////////////////////////////////////////////////////////////////
2 | //
3 | //Copyright (c) 2011-2012 Esri
4 | //
5 | //All rights reserved under the copyright laws of the United States.
6 | //You may freely redistribute and use this software, with or
7 | //without modification, provided you include the original copyright
8 | //and use restrictions. See use restrictions in the file:
9 | ///License.txt
10 | //
11 | ////////////////////////////////////////////////////////////////////////////////
12 |
13 | package com.gisluq.runtimeviewer.BMOD.MapModule.Resource;
14 |
15 | /**
16 | * 文件信息配置相关信息
17 | */
18 | public class Constant
19 | {
20 | public static final String CONFIG_FILE = "config.xml";
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/BMOD/MapModule/Resource/ResourceConfig.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.BMOD.MapModule.Resource;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.support.design.widget.FloatingActionButton;
6 | import android.view.View;
7 | import android.widget.ImageView;
8 | import android.widget.LinearLayout;
9 | import android.widget.RelativeLayout;
10 | import android.widget.Switch;
11 | import android.widget.TextView;
12 | import android.widget.ToggleButton;
13 |
14 | import com.esri.arcgisruntime.mapping.view.MapView;
15 | import com.gisluq.runtimeviewer.R;
16 |
17 | /**
18 | * 资源绑定注册类
19 | */
20 | public class ResourceConfig {
21 |
22 | public Context context;
23 | private Activity activiy;
24 |
25 | public ResourceConfig(Context context){
26 | this.context = context;
27 | this.activiy = (Activity)context;
28 | initConfig();
29 | }
30 |
31 | /**资源列表**/
32 | public MapView mapView = null;//地图控件
33 | public RelativeLayout compassView =null;//指北针控件
34 | public TextView txtMapScale = null;//比例尺
35 | public View baseWidgetView = null;//widget组件
36 | public ImageView imgCenterView = null;//中心十字叉
37 | public ToggleButton togbtnLocation=null;//定位按钮
38 | public TextView txtLocation = null;
39 | public FloatingActionButton btnPointCollect=null;//采集点
40 |
41 | public LinearLayout baseWidgetToolsView;//widget组件工具列表
42 |
43 |
44 | /**
45 | * 初始化资源列表
46 | */
47 | private void initConfig() {
48 | this.mapView = (MapView)activiy.findViewById(R.id.activity_map_mapview);
49 | this.compassView = (RelativeLayout)activiy.findViewById(R.id.activity_map_compass);
50 | this.txtMapScale = (TextView)activiy.findViewById(R.id.activity_map_mapview_scale);
51 | this.baseWidgetView = activiy.findViewById(R.id.base_widget_view_baseview);
52 | this.imgCenterView = (ImageView)activiy.findViewById(R.id.activity_map_imgCenterView);
53 | this.togbtnLocation = (ToggleButton) activiy.findViewById(R.id.activity_map_togbtnLocation);
54 |
55 | this.txtLocation = (TextView)activiy.findViewById(R.id.activity_map_mapview_locationInfo);
56 |
57 | this.baseWidgetToolsView = (LinearLayout)activiy.findViewById(R.id.base_widget_view_tools_linerview);
58 |
59 | this.btnPointCollect = activiy.findViewById(R.id.activity_map_faBtnpointCollect);
60 | }
61 |
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/BMOD/MapModule/Running/MapConfigInfo.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.BMOD.MapModule.Running;
2 |
3 | import com.gisluq.runtimeviewer.BMOD.MapModule.Location.DMUserLocationManager;
4 |
5 | /**
6 | * 地图资源配置
7 | */
8 | public class MapConfigInfo {
9 | public static DMUserLocationManager dmUserLocationManager= null;
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/BMOD/ProjectsModule/Model/ProjectInfo.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.BMOD.ProjectsModule.Model;
2 |
3 | /**
4 | * 工程目录信息
5 | */
6 | public class ProjectInfo {
7 | public String DirName;//工程文件夹名称
8 | public String DirPath;//工程路径
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/BMOD/SystemModule/AboutActivity.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.BMOD.SystemModule;
2 |
3 | import android.os.Bundle;
4 | import android.support.v7.widget.Toolbar;
5 | import android.widget.TextView;
6 |
7 | import com.gisluq.runtimeviewer.Base.BaseActivity;
8 | import com.gisluq.runtimeviewer.R;
9 |
10 | import gisluq.lib.Util.AppUtils;
11 |
12 | public class AboutActivity extends BaseActivity {
13 |
14 | @Override
15 | protected void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 | setContentView(R.layout.activity_about);
18 |
19 | TextView textView = (TextView)this.findViewById(R.id.activity_about_versionTxt);
20 | String version = AppUtils.getVersionName(this);
21 | textView.setText("版本号:"+version);
22 |
23 | TextView txtContext = (TextView)this.findViewById(R.id.activity_about_txtContext);
24 | String txtContextText = "框架说明";
25 | txtContext.setText(txtContextText);
26 | }
27 |
28 | /***
29 | * 初始化应用程序状态栏显示
30 | * @param toolbar
31 | */
32 | @Override
33 | public void onCreateCustomToolBar(Toolbar toolbar) {
34 | super.onCreateCustomToolBar(toolbar);
35 | // toolbar.setNavigationIcon(null);//设置不显示回退按钮
36 | getLayoutInflater().inflate(R.layout.activity_toobar_view, toolbar);
37 | TextView title = (TextView) toolbar.findViewById(R.id.activity_baseview_toobar_view_txtTitle);
38 | title.setPadding(0, 0, 0, 0);
39 | title.setText("关于");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Base/BaseActivity.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Base;
2 |
3 | import android.os.Bundle;
4 | import android.support.v7.app.AppCompatActivity;
5 | import android.support.v7.widget.Toolbar;
6 | import android.view.MenuItem;
7 |
8 | import com.gisluq.runtimeviewer.Common.ToolBarHelper;
9 |
10 | /**
11 | * Activity基类
12 | * 用于控制状态栏显示内容
13 | * Created by gis-luq on 2018/4/10.
14 | */
15 | public class BaseActivity extends AppCompatActivity {
16 |
17 | private ToolBarHelper mToolBarHelper ;
18 | public Toolbar toolbar ;
19 | @Override
20 | protected void onCreate(Bundle savedInstanceState) {
21 | super.onCreate(savedInstanceState);
22 | }
23 |
24 | @Override
25 | public void setContentView(int layoutResID) {
26 |
27 | mToolBarHelper = new ToolBarHelper(this,layoutResID) ;
28 | toolbar = mToolBarHelper.getToolBar() ;
29 | setContentView(mToolBarHelper.getContentView());
30 | /*把 activity_toolbar 设置到Activity 中*/
31 | setSupportActionBar(toolbar);
32 | /*自定义的一些操作*/
33 | onCreateCustomToolBar(toolbar) ;
34 | }
35 |
36 | public void onCreateCustomToolBar(Toolbar toolbar){
37 | toolbar.setContentInsetsRelative(0,0);
38 | }
39 |
40 | @Override
41 | public boolean onOptionsItemSelected(MenuItem item) {
42 | if (item.getItemId() == android.R.id.home){
43 | //状态栏返回按钮
44 | finish();
45 | return true ;
46 | }
47 | return super.onOptionsItemSelected(item);
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Common/DialogTools.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Common;
2 |
3 | import android.app.AlertDialog;
4 | import android.content.Context;
5 | import android.content.DialogInterface;
6 |
7 | /**
8 | * 弹窗工具组件
9 | */
10 | public class DialogTools {
11 |
12 | /**
13 | * 系统弹窗提示信息
14 | */
15 | public static void showSystemDialog(Context context,
16 | String title,
17 | String msg,
18 | String negativeButtonName,
19 | DialogInterface.OnClickListener negativeButtonlistener,
20 | String positiveButtonName,
21 | DialogInterface.OnClickListener positiveButtonlistener) {
22 | AlertDialog.Builder builder = new AlertDialog.Builder(context);
23 | builder.setMessage(msg);
24 | builder.setTitle(title);
25 | //确定按钮
26 | if (negativeButtonName!=null){
27 | builder.setNegativeButton(negativeButtonName, negativeButtonlistener);
28 | }
29 | //取消按钮
30 | if (positiveButtonName!=null){
31 | builder.setPositiveButton(positiveButtonName, positiveButtonlistener);
32 | }
33 |
34 | builder.create().show();
35 |
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Config/AppConfig.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Config;
2 |
3 | import android.content.Context;
4 |
5 | import com.gisluq.runtimeviewer.Config.Entity.ConfigEntity;
6 | import com.gisluq.runtimeviewer.Config.Xml.XmlParser;
7 |
8 | /**
9 | * 系统配置获取
10 | */
11 | public class AppConfig {
12 |
13 | /**
14 | * 获取应用程序配置信息
15 | */
16 | public static ConfigEntity getConfig(Context context) {
17 | ConfigEntity config = null;
18 | try {
19 | config = XmlParser.getConfig(context);
20 | } catch (Exception e) {
21 | e.printStackTrace();
22 | }
23 | return config;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Config/AppWorksSpaceInit.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Config;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.content.DialogInterface;
6 | import android.util.Log;
7 |
8 | import com.gisluq.runtimeviewer.Common.DialogTools;
9 | import com.gisluq.runtimeviewer.Utils.FileUtils;
10 |
11 |
12 | /**
13 | *文件工作空间初始化类
14 | */
15 | public class AppWorksSpaceInit {
16 |
17 | private static String Tag = "AppWorksSpaceInit";
18 | private static boolean isWriteStorage = true;//默认可读写
19 |
20 | /**
21 | * 初始化工作空间
22 | * @param context
23 | */
24 | public static boolean init(final Context context){
25 |
26 | /*** 系统内部存储 *******************************************************************************************/
27 | String WorkSpacePath= SystemDirPath.getMainWorkSpacePath(context);
28 | if(!FileUtils.isExist(WorkSpacePath)){
29 | boolean isCreateWorkSpacePath = FileUtils.createChildFilesDir(WorkSpacePath); //创建主目录文件夹
30 | if(isCreateWorkSpacePath){
31 | Log.d(Tag, "目录:" + WorkSpacePath + " 创建成功");
32 | }else{
33 | Log.d(Tag, "目录:"+WorkSpacePath + " 创建失败");
34 | isWriteStorage = false;
35 | DialogTools.showSystemDialog(context,"系统提示",WorkSpacePath + " 创建失败,请检查APP是否具备写入权限","确定",
36 | new DialogInterface.OnClickListener() {
37 | @Override
38 | public void onClick(DialogInterface dialogInterface, int i) {
39 | ((Activity)context).finish();
40 | }
41 | },null,null);
42 | }
43 | }
44 |
45 | String Projects = SystemDirPath.getProjectPath(context);
46 | if(!FileUtils.isExist(Projects)){
47 | boolean isCreateProjects = FileUtils.createChildFilesDir(Projects); //创建工程目录文件夹
48 | if(isCreateProjects){
49 | Log.d(Tag, "目录:"+Projects + " 创建成功");
50 | }else{
51 | Log.d(Tag, "目录:"+Projects + " 创建失败");
52 | }
53 | }
54 |
55 | String SysConf = SystemDirPath.getSystemConfPath(context);
56 | if(!FileUtils.isExist(SysConf)){
57 | boolean isCreateProjects = FileUtils.createChildFilesDir(SysConf); //创建系统配置目录文件夹
58 | if(isCreateProjects){
59 | Log.d(Tag, "目录:"+Projects + " 创建成功");
60 | }else{
61 | Log.d(Tag, "目录:"+Projects + " 创建失败");
62 | }
63 | }
64 |
65 | return isWriteStorage;
66 | }
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Config/Entity/ConfigEntity.java:
--------------------------------------------------------------------------------
1 | ////////////////////////////////////////////////////////////////////////////////
2 | //
3 | //Copyright (c) 2011-2012 Esri
4 | //
5 | //All rights reserved under the copyright laws of the United States.
6 | //You may freely redistribute and use this software, with or
7 | //without modification, provided you include the original copyright
8 | //and use restrictions. See use restrictions in the file:
9 | ///License.txt
10 | //
11 | ////////////////////////////////////////////////////////////////////////////////
12 |
13 | package com.gisluq.runtimeviewer.Config.Entity;
14 |
15 |
16 | import java.util.ArrayList;
17 | import java.util.List;
18 |
19 | /**
20 | * 配置文件实体类
21 | */
22 | public class ConfigEntity
23 | {
24 | private String runtimrKey = null;//许可信息
25 | private String workspacePath = null;//工作空间路径
26 |
27 | private List mListWidget = new ArrayList();
28 |
29 | public String getRuntimrKey() {
30 | return runtimrKey;
31 | }
32 |
33 | public void setRuntimrKey(String runtimrKey) {
34 | this.runtimrKey = runtimrKey;
35 | }
36 |
37 | public String getWorkspacePath() {
38 | return workspacePath;
39 | }
40 |
41 | public void setWorkspacePath(String workspacePath) {
42 | this.workspacePath = workspacePath;
43 | }
44 |
45 | public void setListWidget(List list)
46 | {
47 | mListWidget = list;
48 | }
49 | public List getListWidget()
50 | {
51 | return mListWidget;
52 | }
53 |
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Config/Entity/WidgetEntity.java:
--------------------------------------------------------------------------------
1 | ////////////////////////////////////////////////////////////////////////////////
2 | //
3 | //Copyright (c) 2011-2012 Esri
4 | //
5 | //All rights reserved under the copyright laws of the United States.
6 | //You may freely redistribute and use this software, with or
7 | //without modification, provided you include the original copyright
8 | //and use restrictions. See use restrictions in the file:
9 | ///License.txt
10 | //
11 | ////////////////////////////////////////////////////////////////////////////////
12 |
13 | package com.gisluq.runtimeviewer.Config.Entity;
14 |
15 | /**
16 | * Widget组件信息
17 | */
18 | public class WidgetEntity
19 | {
20 | private int mId = 0;
21 | private String mClassname = "";
22 | private String mLabel = "";
23 | private String mGroup = "";
24 | private String mIcon = "";
25 | private String mSelectIcon = "";
26 | private String mConfig = "";
27 | private boolean isShowing = false;
28 |
29 | public void setGroup(String group){
30 | this.mGroup = group;
31 | }
32 | public String getGroup(){
33 | return mGroup;
34 | }
35 |
36 | public boolean getIsShowing() {
37 | return isShowing;
38 | }
39 | public void setStatus(boolean isShowing) {
40 | this.isShowing = isShowing;
41 | }
42 | public void setId(int id)
43 | {
44 | mId = id;
45 | }
46 | public int getId()
47 | {
48 | return mId;
49 | }
50 | public void setClassname(String name)
51 | {
52 | mClassname = name;
53 | }
54 | public String getClassname()
55 | {
56 | return mClassname;
57 | }
58 | public void setConfig(String config)
59 | {
60 | mConfig = config;
61 | }
62 | public String getConfig()
63 | {
64 | return mConfig;
65 | }
66 |
67 | public void setSelectIconName(String mSelectIcon) {
68 | this.mSelectIcon = mSelectIcon;
69 | }
70 |
71 | public String getSelectIcon() {
72 | return mSelectIcon;
73 | }
74 |
75 | public void setIconName(String icon)
76 | {
77 | mIcon = icon;
78 | }
79 | public String getIconName()
80 | {
81 | return mIcon;
82 | }
83 |
84 | public void setLabel(String label)
85 | {
86 | mLabel = label;
87 | }
88 | public String getLabel()
89 | {
90 | return mLabel;
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Config/SystemDirPath.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Config;
2 |
3 |
4 | import android.content.Context;
5 |
6 | import com.gisluq.runtimeviewer.Config.Entity.ConfigEntity;
7 |
8 | import gisluq.lib.Util.SDCardUtils;
9 |
10 | /**
11 | * 系统文件夹管理类
12 | * 记录、获取系统文件夹路径,管理存储位置信息
13 | */
14 | public class SystemDirPath {
15 | private static String MainWorkSpace = "/RuntimeViewer";//工作空间地址
16 |
17 | private static String Projects = "/Projects"; //系统工程文件夹
18 |
19 | private static String SystemConf = "/System"; //系统模板
20 | private static String lockViewConf = "/lockscreen.conf"; //锁屏配置文件信息
21 |
22 | public static String SDPath = SDCardUtils.getSDCardPath();//系统SD卡路径
23 |
24 | public static ConfigEntity configEntity = null;
25 | /**
26 | * 获取SD卡工具路径
27 | * @return
28 | */
29 | public static String getSDPath(){
30 | return SDPath;
31 | }
32 |
33 | /**
34 | * 获取系统工作空间文件夹路径(主目录)
35 | * 主目录以系统内部存储为主
36 | * @return
37 | * @param context
38 | */
39 | public static String getMainWorkSpacePath(Context context){
40 | if (configEntity==null){
41 | configEntity =AppConfig.getConfig(context);
42 | }
43 | String path = configEntity.getWorkspacePath();
44 | if (path!=null||(!path.equals(""))){
45 | return SDPath + path;
46 | }
47 | return SDPath + MainWorkSpace;
48 | }
49 |
50 | /**
51 | * 获取系统配置文件夹路径(系统配置目录仅内部存储)
52 | * @return
53 | */
54 | public static String getSystemConfPath(Context context){
55 | return getMainWorkSpacePath(context) + SystemConf;
56 | }
57 |
58 |
59 | /**
60 | * 获取工程文件夹路径
61 | * @return
62 | */
63 | public static String getProjectPath(Context context){
64 | return getMainWorkSpacePath(context) + Projects;
65 | }
66 |
67 |
68 | /**
69 | * 获取系统锁屏配置文件路径
70 | * @return
71 | */
72 | public static String getLockViewConfPath(Context context){
73 | return getMainWorkSpacePath(context)+ SystemConf + lockViewConf;
74 | }
75 |
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/EventBus/BaseWidgetMsgEvent.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.EventBus;
2 |
3 | /**
4 | * Widget系统消息事件
5 | */
6 | public class BaseWidgetMsgEvent {
7 | private String message;
8 |
9 | public BaseWidgetMsgEvent(String message) {
10 | this.message = message;
11 | }
12 |
13 | public String getMessage() {
14 | return message;
15 | }
16 |
17 | public void setMessage(String message) {
18 | this.message = message;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/EventBus/EventCode.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.EventBus;
2 |
3 | /**
4 | * 事件列表
5 | * Created by luq on 2018/3/26.
6 | */
7 | public class EventCode {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/EventBus/MessageEvent.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.EventBus;
2 |
3 | /**
4 | * 消息事件
5 | * Created by luq on 2017/5/14.
6 | */
7 | public class MessageEvent {
8 | private String message;
9 |
10 | public MessageEvent(String message) {
11 | this.message = message;
12 | }
13 |
14 | public String getMessage() {
15 | return message;
16 | }
17 |
18 | public void setMessage(String message) {
19 | this.message = message;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/GloabApp/MPApplication.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.GloabApp;
2 |
3 | import android.app.Application;
4 | import android.os.StrictMode;
5 |
6 |
7 | /**
8 | * 主Application
9 | */
10 | public class MPApplication extends Application {
11 |
12 | @Override
13 | public void onCreate() {
14 | super.onCreate();
15 |
16 | /**
17 | * 解决Android系统7.0以上遇到exposed beyond app through ClipData.Item.getUri
18 | * https://blog.csdn.net/FrancisBingo/article/details/78248118
19 | */
20 | StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
21 | StrictMode.setVmPolicy(builder.build());
22 | builder.detectFileUriExposure();
23 |
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Permission/PermissionsChecker.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Permission;
2 |
3 | import android.content.Context;
4 | import android.content.pm.PackageManager;
5 | import android.support.v4.content.ContextCompat;
6 |
7 | /**
8 | * 检查权限的工具类
9 | *
10 | * Created by wangchenlong on 16/1/26.
11 | */
12 | public class PermissionsChecker {
13 | private final Context mContext;
14 |
15 | public PermissionsChecker(Context context) {
16 | mContext = context.getApplicationContext();
17 | }
18 |
19 | // 判断权限集合
20 | public boolean lacksPermissions(String... permissions) {
21 | for (String permission : permissions) {
22 | if (lacksPermission(permission)) {
23 | return true;
24 | }
25 | }
26 | return false;
27 | }
28 |
29 | // 判断是否缺少权限
30 | private boolean lacksPermission(String permission) {
31 | return ContextCompat.checkSelfPermission(mContext, permission) ==
32 | PackageManager.PERMISSION_DENIED;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Permission/PermissionsUtils.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Permission;
2 |
3 | import android.Manifest;
4 | import android.app.Activity;
5 | import android.content.Context;
6 |
7 | /**
8 | * 用户权限管理类
9 | */
10 | public class PermissionsUtils {
11 |
12 | private static final int REQUEST_CODE = 0; // 请求码
13 |
14 | // 所需的全部权限
15 | static final String[] PERMISSIONS = new String[]{
16 | Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS,
17 | Manifest.permission.ACCESS_FINE_LOCATION
18 | };
19 |
20 | private static PermissionsChecker mPermissionsChecker; // 权限检测器
21 |
22 | /**
23 | * 权限检查
24 | * @param context
25 | */
26 | public static void PermissionsChecker(Context context){
27 | mPermissionsChecker = new PermissionsChecker(context);
28 | // 缺少权限时, 进入权限配置页面
29 | if (mPermissionsChecker.lacksPermissions(PERMISSIONS)) {
30 | PermissionsActivity.startActivityForResult((Activity)context, REQUEST_CODE, PERMISSIONS);
31 | }
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Utils/DialogUtils.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Utils;
2 |
3 | import android.app.AlertDialog;
4 | import android.content.Context;
5 | import android.content.DialogInterface;
6 |
7 | /**
8 | * 系统弹窗
9 | */
10 | public class DialogUtils {
11 |
12 | /**
13 | * 系统弹窗提示信息
14 | */
15 | public static void showDialog(Context context, String msg) {
16 | AlertDialog.Builder builder = new AlertDialog.Builder(context);
17 | builder.setMessage(msg);
18 | builder.setTitle("系统提示");
19 | // builder.setPositiveButton("取消", new DialogInterface.OnClickListener() {
20 | // @Override
21 | // public void onClick(DialogInterface dialog, int which) {
22 | // dialog.dismiss();
23 | // }
24 | // });
25 | builder.setNegativeButton("确认", new DialogInterface.OnClickListener() {
26 | @Override
27 | public void onClick(DialogInterface dialog, int which) {
28 |
29 | dialog.dismiss();
30 | }
31 | });
32 | builder.create().show();
33 |
34 | }
35 |
36 | /**
37 | * 弹窗提示
38 | * @param context
39 | * @param title
40 | * @param msg
41 | */
42 | public static void showDialog(Context context, String title, String msg) {
43 | AlertDialog.Builder builder = new AlertDialog.Builder(context);
44 | builder.setMessage(msg);
45 | builder.setTitle(title);
46 | builder.setNegativeButton("确认", new DialogInterface.OnClickListener() {
47 | @Override
48 | public void onClick(DialogInterface dialog, int which) {
49 |
50 | dialog.dismiss();
51 | }
52 | });
53 | builder.create().show();
54 |
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Utils/StringUtils.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Utils;
2 |
3 | import java.util.regex.Pattern;
4 |
5 | /**
6 | * 字符串处理工具
7 | */
8 | public class StringUtils {
9 |
10 | /**
11 | * 字符串转浮点型数据
12 | * @param alpha
13 | * @return
14 | */
15 | private static float getFloat(String alpha)
16 | {
17 | float value = 1;
18 | if(alpha == null || alpha.equals("")) alpha = "1";
19 | try
20 | {
21 | value = Float.parseFloat(alpha);
22 | }
23 | catch(Exception e)
24 | {
25 | e.printStackTrace();
26 | }
27 | return value;
28 | }
29 |
30 | /**
31 | * 字符串转boolean型数据
32 | * @param visible
33 | * @return
34 | */
35 | private static boolean getBoolean(String visible)
36 | {
37 | boolean value = false;
38 | if(visible == null || visible.equals("")) visible = "false";
39 | try
40 | {
41 | value = Boolean.parseBoolean(visible);
42 | }
43 | catch(Exception e)
44 | {
45 | value = false;
46 | e.printStackTrace();
47 | }
48 | return value;
49 | }
50 |
51 | /**
52 | * 判断是否为数字
53 | * @param str
54 | * @return
55 | */
56 | public static boolean isInteger(String str) {
57 | Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
58 | return pattern.matcher(str).matches();
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Utils/TimeUtils.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Utils;
2 |
3 |
4 | import java.text.SimpleDateFormat;
5 |
6 | /**
7 | * 时间处理工具
8 | */
9 | public class TimeUtils {
10 |
11 | //毫秒转秒
12 | public static String long2String(long time){
13 |
14 | //毫秒转秒
15 | int sec = (int) time / 1000 ;
16 | int min = sec / 60 ; //分钟
17 | sec = sec % 60 ; //秒
18 | if(min < 10){ //分钟补0
19 | if(sec < 10){ //秒补0
20 | return "0"+min+":0"+sec;
21 | }else{
22 | return "0"+min+":"+sec;
23 | }
24 | }else{
25 | if(sec < 10){ //秒补0
26 | return min+":0"+sec;
27 | }else{
28 | return min+":"+sec;
29 | }
30 | }
31 |
32 | }
33 |
34 | /**
35 | * 返回当前时间的格式为 yyyy-MM-dd HH:mm:ss
36 | * @return
37 | */
38 | public static String getCurrentTime() {
39 | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
40 | return sdf.format(System.currentTimeMillis());
41 | }
42 |
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Widgets/HelloWorldWidget.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Widgets;
2 |
3 | import android.view.LayoutInflater;
4 | import android.view.View;
5 | import android.widget.CalendarView;
6 |
7 | import com.gisluq.runtimeviewer.BMOD.MapModule.BaseWidget.BaseWidget;
8 | import com.gisluq.runtimeviewer.R;
9 |
10 | /**
11 | * 测试用组件
12 | * Created by gis-luq on 2018/5/10.
13 | */
14 | public class HelloWorldWidget extends BaseWidget {
15 |
16 | public View mWidgetView = null;//
17 | /**
18 | * 组件面板打开时,执行的操作
19 | * 当点击widget按钮是, WidgetManager将会调用这个方法,面板打开后的代码逻辑.
20 | * 面板关闭将会调用 "inactive" 方法
21 | */
22 | @Override
23 | public void active() {
24 |
25 | super.active();//默认需要调用,以保证切换到其他widget时,本widget可以正确执行inactive()方法并关闭
26 | super.showWidget(mWidgetView);//加载UI并显示
27 |
28 | super.showMessageBox(super.name);//显示组件名称
29 |
30 | super.mapView.getMap().getBasemap().getBaseLayers();
31 | super.mapView.getMap().getOperationalLayers();
32 |
33 | super.showCenterView();
34 | super.showCollectPointBtn();
35 | }
36 |
37 | /**
38 | * widget组件的初始化操作,包括设置view内容,逻辑等
39 | * 该方法在应用程序加载完成后执行
40 | */
41 | @Override
42 | public void create() {
43 | LayoutInflater mLayoutInflater = LayoutInflater.from(super.context);
44 | //设置widget组件显示内容
45 | mWidgetView = mLayoutInflater.inflate(R.layout.widget_view_helloworld,null);
46 |
47 | }
48 |
49 | /**
50 | * 组件面板关闭时,执行的操作
51 | * 面板关闭将会调用 "inactive" 方法
52 | */
53 | @Override
54 | public void inactive(){
55 | super.inactive();
56 | super.hideCenterView();
57 | super.hideCollectPointBtn();
58 | }
59 |
60 | }
61 |
62 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Widgets/LayerManagerWidget/BaseMap/BasemapLayerInfo.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Widgets.LayerManagerWidget.BaseMap;
2 |
3 | /**
4 | * 图层信息列表
5 | * Created by gis-luq on 2015/4/2.
6 | */
7 | public class BasemapLayerInfo {
8 |
9 | /**
10 | * 支持离线底图类型
11 | */
12 | public static String LYAER_TYPE_TPK="LocalTiledPackage";//tpk
13 | public static String LYAER_TYPE_TIFF="LocalGeoTIFF";//tiff
14 | public static String LYAER_TYPE_SERVERCACHE="LocalServerCache";//server cache
15 | public static String LYAER_TYPE_ONLINE_TILEDLAYER="OnlineTiledMapServiceLayer";//在线切片
16 | public static String LYAER_TYPE_ONLINE_DYNAMICLAYER="OnlineDynamicMapServiceLayer";//在线动态图层
17 | public static String LYAER_TYPE_VTPK="LocalVectorTilePackage";//vtpk
18 |
19 | public static String LYAER_TYPE_TIANDITU_MAP="TianDiDuLayerMap";//天地图底图
20 | public static String LYAER_TYPE_TIANDITU_IMAGE="TianDiDuLayerImage";//天地图影像
21 | public static String LYAER_TYPE_TIANDITU_IMAGE_LABEL="TianDiDuLayerImageLabel";//天地图影像标注图层
22 |
23 |
24 | public String Name;//名称
25 | public String Type;//类型
26 | public String Path;//本地路径
27 | public int LayerIndex;//图层顺序
28 | public boolean Visable;//是否可以显示
29 | public double Opacity;//图层透明度
30 | public String Render;
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Widgets/LayerManagerWidget/UserLayers/TianDiTuLayer/TianDiTuLayer.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Widgets.LayerManagerWidget.UserLayers.TianDiTuLayer;
2 |
3 | import com.esri.arcgisruntime.arcgisservices.TileInfo;
4 | import com.esri.arcgisruntime.data.TileKey;
5 | import com.esri.arcgisruntime.geometry.Envelope;
6 | import com.esri.arcgisruntime.layers.ImageTiledLayer;
7 |
8 | import java.io.ByteArrayOutputStream;
9 | import java.io.InputStream;
10 | import java.net.HttpURLConnection;
11 | import java.net.URL;
12 |
13 | /**
14 | * Created by jiang on 2017/6/30.
15 | */
16 |
17 | public class TianDiTuLayer extends ImageTiledLayer {
18 | private TianDiTuLayerInfo layerInfo;
19 |
20 | public TianDiTuLayer(TileInfo tileInfo, Envelope fullExtent) {
21 | super(tileInfo, fullExtent);
22 | }
23 |
24 | public void setLayerInfo(TianDiTuLayerInfo layerInfo) {
25 | this.layerInfo = layerInfo;
26 | }
27 |
28 | public TianDiTuLayerInfo getLayerInfo() {
29 | return this.layerInfo;
30 | }
31 |
32 | @Override
33 | protected byte[] getTile(TileKey tileKey) {
34 | int level = tileKey.getLevel();
35 | int col = tileKey.getColumn();
36 | int row = tileKey.getRow();
37 | String mainURL = layerInfo.getTianDiTuServiceURL();
38 | String requestUrl = mainURL + "&tilecol=" + col + "&tilerow=" + row + "&tilematrix=" + (level);
39 | try {
40 | URL url = new URL(requestUrl);
41 | HttpURLConnection conn = (HttpURLConnection) url.openConnection();
42 | conn.setRequestMethod("GET");
43 | conn.setConnectTimeout(5000);
44 | //获取服务器返回回来的流
45 | InputStream is = conn.getInputStream();
46 | return getBytes(is);
47 | } catch (Exception e) {
48 | return new byte[0];
49 | }
50 | }
51 |
52 | private byte[] getBytes(InputStream is) throws Exception {
53 | ByteArrayOutputStream bos = new ByteArrayOutputStream();
54 | byte[] buffer = new byte[1024];
55 | int len = 0;
56 | while ((len = is.read(buffer)) != -1) {
57 | bos.write(buffer, 0, len);
58 | }
59 | is.close();
60 | bos.flush();
61 | byte[] result = bos.toByteArray();
62 | System.out.println(new String(result));
63 | return result;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gisluq/runtimeviewer/Widgets/QueryWidget/Bean/KeyAndValueBean.java:
--------------------------------------------------------------------------------
1 | package com.gisluq.runtimeviewer.Widgets.QueryWidget.Bean;
2 |
3 | /**
4 | * 属性
5 | * Created by gis-luq on 2018/2/24.
6 | */
7 |
8 | public class KeyAndValueBean {
9 | private String Key;
10 | private String Value;
11 |
12 | public String getKey() {
13 | return Key;
14 | }
15 |
16 | public String getValue() {
17 | return Value;
18 | }
19 |
20 | public void setKey(String key) {
21 | Key = key;
22 | }
23 |
24 | public void setValue(String value) {
25 | Value = value;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/widget_enter_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/widget_exit_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_circle_default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_circle_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_bg_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_delete_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_item_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_item_touch_txtred.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_location_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_location_btn_off.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_location_btn_on.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_more_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_touch_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_voice_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_closed_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_down_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_item_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_item_touch_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_open_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_up_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-land/activity_lockview.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
21 |
22 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-land/activity_login.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
16 |
17 |
20 |
21 |
28 |
29 |
41 |
42 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-land/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
21 |
22 |
26 |
27 |
30 |
31 |
40 |
41 |
42 |
43 |
44 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-land/activity_main_gridview_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
21 |
22 |
27 |
28 |
35 |
36 |
37 |
47 |
48 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-land/activity_lockview.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
21 |
22 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-land/activity_login.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
16 |
17 |
20 |
21 |
28 |
29 |
41 |
42 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-land/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
21 |
22 |
26 |
27 |
30 |
31 |
40 |
41 |
42 |
43 |
44 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-land/activity_main_gridview_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
22 |
23 |
28 |
29 |
36 |
37 |
38 |
48 |
49 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-port/activity_lockview.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
21 |
22 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-port/activity_login.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
16 |
17 |
20 |
21 |
28 |
29 |
41 |
42 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-port/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
21 |
22 |
26 |
27 |
30 |
31 |
40 |
41 |
42 |
43 |
44 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large-port/activity_main_gridview_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
22 |
23 |
28 |
29 |
36 |
37 |
38 |
48 |
49 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large/base_widget_view_tools.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
16 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large/base_widget_view_tools_widget_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
24 |
25 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-large/widget_view_layer_managet_layers_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
20 |
21 |
28 |
29 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_about.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
20 |
21 |
29 |
30 |
38 |
39 |
44 |
45 |
49 |
50 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_lockview.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
21 |
22 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_login.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
16 |
17 |
20 |
21 |
28 |
29 |
41 |
42 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
21 |
22 |
26 |
27 |
30 |
31 |
40 |
41 |
42 |
43 |
44 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main_gridview_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
21 |
22 |
27 |
28 |
35 |
36 |
37 |
47 |
48 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_permissions.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_toobar_view.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
11 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_toolbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/base_widget_view_tools.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
21 |
22 |
26 |
27 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/base_widget_view_tools_widget_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
21 |
22 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_feature_edit_alert_attribute.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
19 |
20 |
21 |
22 |
28 |
29 |
33 |
34 |
38 |
39 |
40 |
41 |
46 |
47 |
52 |
53 |
62 |
63 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_feature_edit_alert_attribute_fielditem.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
20 |
21 |
26 |
27 |
35 |
36 |
41 |
42 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_feature_edit_alert_mediafiles_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_feature_edit_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
25 |
26 |
29 |
30 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_helloworld.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
15 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_layer_manager_legend.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
16 |
17 |
23 |
24 |
30 |
31 |
38 |
39 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_layer_managet_layers_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 |
10 |
17 |
18 |
26 |
27 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_layer_managet_legent_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
21 |
22 |
27 |
28 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_query_attributequery_result_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
23 |
24 |
30 |
31 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_query_attributequery_spinner_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_query_mapquery_alertlayers_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
22 |
23 |
28 |
29 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_view_query_mapquery_fielditem.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
21 |
22 |
26 |
27 |
34 |
35 |
41 |
42 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_layer_handle_tools.xml:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_layer_tools.xml:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_closed_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_closed_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_closed_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_closed_pressed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_down_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_down_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_down_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_down_pressed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_open_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_open_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_open_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_open_pressed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_up_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_up_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/base_widget_up_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/base_widget_up_pressed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/cursor_click.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/cursor_click.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/degree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/degree.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/del_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/del_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/del_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/del_pressed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/draw_polyline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/draw_polyline.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_clear.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_delete.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_draw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_draw.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_edit_attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_edit_attribute.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_goback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_goback.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_next.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/fea_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/fea_save.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_track_explore_loc_content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/ic_track_explore_loc_content.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/main_icon_compass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/main_icon_compass.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/main_icon_follow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/main_icon_follow.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/polygon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/polygon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/widget_default_tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/widget_default_tools.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/widget_default_tools2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-hdpi/widget_default_tools2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/a5i.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/a5i.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/a5j.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/a5j.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/basemap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/basemap.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/basemap_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/basemap_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/books.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/books.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/btn_position.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/btn_position.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/btn_position_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/btn_position_select.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/camera.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/center_pic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/center_pic.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/collect_point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/collect_point.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/collect_point1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/collect_point1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/collect_point_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/collect_point_btn.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/collect_point_btn_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/collect_point_btn_select.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/empty_photo_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/empty_photo_large.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/empty_photo_large2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/empty_photo_large2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/field.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_maps_indicator_current_position.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/ic_maps_indicator_current_position.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_more_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/ic_more_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_more_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/ic_more_pressed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/map_cross_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/map_cross_1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/map_cross_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/map_cross_2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/navi_car_circle_grey_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/navi_car_circle_grey_preview.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/navi_car_circle_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/navi_car_circle_preview.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/video.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/voice.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/voice.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/voice_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/voice_default.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/voice_presed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/voice_presed.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/voice_start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/voice_start.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/voice_stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/voice_stop.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/widget_default_tools2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xhdpi/widget_default_tools2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/center_pic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxhdpi/center_pic.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/select_feature.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxhdpi/select_feature.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/target.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxhdpi/target.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/widget_default_tools2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxhdpi/widget_default_tools2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/compass2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxxhdpi/compass2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxxhdpi/pin.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxxhdpi/search.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/widget_default_tools2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/app/src/main/res/mipmap-xxxhdpi/widget_default_tools2.png
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #567183
5 | #3a5160
6 | #ef6e9a
7 |
8 | #ff0000
9 | #ffffff
10 | #000000
11 | #ff4f8c0b
12 | #ff1869af
13 | #00000000
14 | #1e000000
15 | #cac9c9
16 | #fbf8f8
17 | #3b3b3b
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 | 12sp
6 | 14dp>
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | RuntimeViewer
4 | 通用应用程序框架
5 | 基于ArcGIS Runtime SDK 100.x
6 | Copyright © gis-luq
7 |
8 |
9 | 请输入解锁密码
10 | 权限(permission)
11 | 应用需要必要的运行权限
12 |
13 |
14 | 设置
15 | 帮助
16 | 当前应用缺少必要权限。\n\n请点击\"设置\"-\"权限\"-打开所需权限。\n\n最后点击两次后退按钮,即可返回。
17 | 退出
18 |
19 |
20 | (开启GPS) 坐标信息
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | google()
7 | }
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.1.3'
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 |
14 | }
15 |
16 | allprojects {
17 | //自定义编译输出路径
18 | // buildDir = "C:/Android_Tmp_data/${rootProject.name}/${project.name}"
19 | final def var = repositories {
20 | google()
21 | jcenter()
22 | maven { url 'https://esri.bintray.com/arcgis' }
23 | }
24 | var
25 | }
26 |
27 | subprojects{
28 | afterEvaluate {project ->
29 | if(project.hasProperty("dependencies")){
30 | dependencies {
31 | implementation "com.esri.arcgisruntime:arcgis-android:100.4.0"
32 | }
33 | }
34 | }
35 | }
36 |
37 |
38 | task clean(type: Delete) {
39 | delete rootProject.buildDir
40 | }
41 | repositories {
42 | google()
43 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
19 | Android.useDeprecatedNdk=true
20 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat May 12 22:17:50 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/lib/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 26
5 | buildToolsVersion '27.0.3'
6 |
7 | defaultConfig {
8 | minSdkVersion 16
9 | targetSdkVersion 26
10 | versionCode 1
11 | versionName "1.0"
12 | }
13 |
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | }
24 |
--------------------------------------------------------------------------------
/lib/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:/Users/lq/AppData/Local/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -dontwarn com.tencent.bugly.**
20 | -keep public class com.tencent.bugly.**{*;}
--------------------------------------------------------------------------------
/lib/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/AppUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.content.Context;
4 | import android.content.pm.PackageInfo;
5 | import android.content.pm.PackageManager;
6 | import android.content.pm.PackageManager.NameNotFoundException;
7 |
8 | /**
9 | * 跟App相关的辅助类
10 | *
11 | * @author zhy
12 | *
13 | */
14 | public class AppUtils
15 | {
16 |
17 | private AppUtils()
18 | {
19 | /* cannot be instantiated */
20 | throw new UnsupportedOperationException("cannot be instantiated");
21 |
22 | }
23 |
24 | /**
25 | * 获取应用程序名称
26 | */
27 | public static String getAppName(Context context)
28 | {
29 | try
30 | {
31 | PackageManager packageManager = context.getPackageManager();
32 | PackageInfo packageInfo = packageManager.getPackageInfo(
33 | context.getPackageName(), 0);
34 | int labelRes = packageInfo.applicationInfo.labelRes;
35 | return context.getResources().getString(labelRes);
36 | } catch (NameNotFoundException e)
37 | {
38 | e.printStackTrace();
39 | }
40 | return null;
41 | }
42 |
43 | /**
44 | * [获取应用程序版本名称信息]
45 | *
46 | * @param context
47 | * @return 当前应用的版本名称
48 | */
49 | public static String getVersionName(Context context)
50 | {
51 | try
52 | {
53 | PackageManager packageManager = context.getPackageManager();
54 | PackageInfo packageInfo = packageManager.getPackageInfo(
55 | context.getPackageName(), 0);
56 | return packageInfo.versionName;
57 |
58 | } catch (NameNotFoundException e)
59 | {
60 | e.printStackTrace();
61 | }
62 | return null;
63 | }
64 |
65 | }
66 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/DensityUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.content.Context;
4 | import android.util.TypedValue;
5 |
6 | /**
7 | * 常用单位转换的辅助类
8 | *
9 | * @author zhy
10 | *
11 | */
12 | public class DensityUtils
13 | {
14 | private DensityUtils()
15 | {
16 | /* cannot be instantiated */
17 | throw new UnsupportedOperationException("cannot be instantiated");
18 | }
19 |
20 | /**
21 | * dp转px
22 | *
23 | * @param context
24 | * @param val
25 | * @return
26 | */
27 | public static int dp2px(Context context, float dpVal)
28 | {
29 | return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
30 | dpVal, context.getResources().getDisplayMetrics());
31 | }
32 |
33 | /**
34 | * sp转px
35 | *
36 | * @param context
37 | * @param val
38 | * @return
39 | */
40 | public static int sp2px(Context context, float spVal)
41 | {
42 | return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
43 | spVal, context.getResources().getDisplayMetrics());
44 | }
45 |
46 | /**
47 | * px转dp
48 | *
49 | * @param context
50 | * @param pxVal
51 | * @return
52 | */
53 | public static float px2dp(Context context, float pxVal)
54 | {
55 | final float scale = context.getResources().getDisplayMetrics().density;
56 | return (pxVal / scale);
57 | }
58 |
59 | /**
60 | * px转sp
61 | *
62 | * @param fontScale
63 | * @param pxVal
64 | * @return
65 | */
66 | public static float px2sp(Context context, float pxVal)
67 | {
68 | return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/EvilTransform.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | public class EvilTransform {
4 |
5 | private static double pi = 3.14159265358979324;
6 | private static double a = 6378245.0;
7 | private static double ee = 0.00669342162296594323;
8 |
9 | /**
10 | * WGS-84 到 GCJ-02 的转换(即 GPS 加偏)
11 | * @param wgLon
12 | * @param wgLat
13 | * @return
14 | */
15 | public static double[] transform(double wgLon,double wgLat ) {
16 |
17 | double mgLat;
18 | double mgLon;
19 |
20 | if (outOfChina(wgLat, wgLon)) {
21 | mgLat = wgLat;
22 | mgLon = wgLon;
23 | return null;
24 | }
25 | double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
26 | double dLon = transformLon(wgLon - 105.0, wgLat - 35.0);
27 | double radLat = wgLat / 180.0 * pi;
28 | double magic = Math.sin(radLat);
29 | magic = 1 - ee * magic * magic;
30 | double sqrtMagic = Math.sqrt(magic);
31 |
32 | dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
33 | dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
34 |
35 | mgLat = wgLat + dLat;
36 | mgLon = wgLon + dLon;
37 |
38 | return new double[]{mgLon,mgLat};
39 |
40 | }
41 |
42 | /**
43 | * 判断是否在国内区域
44 | * @param lat
45 | * @param lon
46 | * @return
47 | */
48 | public static boolean outOfChina(double lat, double lon) {
49 | if (lon < 72.004 || lon > 137.8347)
50 | return true;
51 | if (lat < 0.8293 || lat > 55.8271)
52 | return true;
53 | return false;
54 | }
55 |
56 | /**
57 | * 纬度转换
58 | * @param x
59 | * @param y
60 | * @return
61 | */
62 | private static double transformLat(double x, double y) {
63 | double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y
64 | + 0.2 * Math.sqrt(Math.abs(x));
65 | ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
66 | ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0;
67 | ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0;
68 | return ret;
69 | }
70 |
71 | /**
72 | * 经度转换
73 | * @param x
74 | * @param y
75 | * @return
76 | */
77 | private static double transformLon(double x, double y) {
78 | double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1
79 | * Math.sqrt(Math.abs(x));
80 | ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
81 | ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0;
82 | ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0
83 | * pi)) * 2.0 / 3.0;
84 | return ret;
85 | }
86 |
87 | }
88 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/KeyBoardUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.content.Context;
4 | import android.view.inputmethod.InputMethodManager;
5 | import android.widget.EditText;
6 |
7 | /**
8 | * 打开或关闭软键盘
9 | *
10 | * @author zhy
11 | *
12 | */
13 | public class KeyBoardUtils
14 | {
15 | /**
16 | * 打卡软键盘
17 | *
18 | * @param mEditText
19 | * 输入框
20 | * @param mContext
21 | * 上下文
22 | */
23 | public static void openKeybord(EditText mEditText, Context mContext)
24 | {
25 | InputMethodManager imm = (InputMethodManager) mContext
26 | .getSystemService(Context.INPUT_METHOD_SERVICE);
27 | imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
28 | imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
29 | InputMethodManager.HIDE_IMPLICIT_ONLY);
30 | }
31 |
32 | /**
33 | * 关闭软键盘
34 | *
35 | * @param mEditText
36 | * 输入框
37 | * @param mContext
38 | * 上下文
39 | */
40 | public static void closeKeybord(EditText mEditText, Context mContext)
41 | {
42 | InputMethodManager imm = (InputMethodManager) mContext
43 | .getSystemService(Context.INPUT_METHOD_SERVICE);
44 |
45 | imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/LogUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.util.Log;
4 |
5 | /**
6 | *
7 | * 本工具对 Log的打印进行封装。作者在开发中自定义以下格式,方便在程序中查看日志。默认为debug类型,即发布后不打印
8 | * 1.调试log打印: activity - 用途 - 数据名称 - 数据
9 | * 2.提示Log打印:比如:登陆-->进入首页-->获取数据-->
10 | * 3.打印出一个异常
11 | */
12 | public class LogUtils {
13 | private static int LOGO_MODE = Log.DEBUG;
14 |
15 | /**
16 | * 打印数据, 用来观察数据是否正常。
17 | * @param object 传递 this。
18 | * @param what 数据用途
19 | * @param dataName 数据名称
20 | * @param data 数据
21 | */
22 | public static void LOG(Object object, String what, String dataName, String data) {
23 | String msg = "用途:"+what+";数据名称:"+dataName+";数据:"+data;
24 | switch (LOGO_MODE) {
25 | case Log.DEBUG:
26 | Log.d(object.getClass().getSimpleName(),msg);
27 | break;
28 | case Log.INFO:
29 | Log.i(object.getClass().getSimpleName(),msg);
30 | break;
31 | case Log.WARN:
32 | Log.w(object.getClass().getSimpleName(),msg);
33 | break;
34 | case Log.ERROR:
35 | Log.e(object.getClass().getSimpleName(),msg);
36 | break;
37 | case Log.VERBOSE:
38 | Log.v(object.getClass().getSimpleName(),msg);
39 | break;
40 |
41 | }
42 | }
43 |
44 | /**
45 | *
46 | * @param object 传递this即可
47 | * @param msg 需要打印的提示信息
48 | */
49 | public static void LOG_L(Object object, String msg){
50 | Log.d(object.getClass().getSimpleName(),msg);
51 | }
52 |
53 | /**
54 | * 在异常中打印LOG
55 | * @param object 传递this即可
56 | * @param where 该异常发生地点
57 | * @param e 异常
58 | */
59 | public static void LOG_E(Object object, String where, Exception e){
60 | Log.wtf(object.getClass().getSimpleName(), where, e);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/NetUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.app.Activity;
4 | import android.content.ComponentName;
5 | import android.content.Context;
6 | import android.content.Intent;
7 | import android.net.ConnectivityManager;
8 | import android.net.NetworkInfo;
9 |
10 | /**
11 | * 跟网络相关的工具类
12 | *
13 | * @author zhy
14 | *
15 | */
16 | public class NetUtils
17 | {
18 | private NetUtils()
19 | {
20 | /* cannot be instantiated */
21 | throw new UnsupportedOperationException("cannot be instantiated");
22 | }
23 |
24 | /**
25 | * 判断网络是否连接
26 | *
27 | * @param context
28 | * @return
29 | */
30 | public static boolean isConnected(Context context)
31 | {
32 |
33 | ConnectivityManager connectivity = (ConnectivityManager) context
34 | .getSystemService(Context.CONNECTIVITY_SERVICE);
35 |
36 | if (null != connectivity)
37 | {
38 |
39 | NetworkInfo info = connectivity.getActiveNetworkInfo();
40 | if (null != info && info.isConnected())
41 | {
42 | if (info.getState() == NetworkInfo.State.CONNECTED)
43 | {
44 | return true;
45 | }
46 | }
47 | }
48 | return false;
49 | }
50 |
51 | /**
52 | * 判断是否是wifi连接
53 | */
54 | public static boolean isWifi(Context context)
55 | {
56 | ConnectivityManager cm = (ConnectivityManager) context
57 | .getSystemService(Context.CONNECTIVITY_SERVICE);
58 |
59 | if (cm == null)
60 | return false;
61 | return cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;
62 |
63 | }
64 |
65 | /**
66 | * 打开网络设置界面
67 | */
68 | public static void openSetting(Activity activity)
69 | {
70 | Intent intent = new Intent("/");
71 | ComponentName cm = new ComponentName("com.android.settings",
72 | "com.android.settings.WirelessSettings");
73 | intent.setComponent(cm);
74 | intent.setAction("android.intent.action.VIEW");
75 | activity.startActivityForResult(intent, 0);
76 | }
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/SDCardUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.content.Context;
4 | import android.content.pm.PackageManager;
5 | import android.os.Environment;
6 | import android.os.StatFs;
7 |
8 | import java.io.File;
9 |
10 | /**
11 | * SD卡相关的辅助类
12 | *
13 | * @author zhy
14 | *
15 | */
16 | public class SDCardUtils
17 | {
18 | private SDCardUtils()
19 | {
20 | /* cannot be instantiated */
21 | throw new UnsupportedOperationException("cannot be instantiated");
22 | }
23 |
24 | /**
25 | * 判断SDCard是否可用
26 | *
27 | * @return
28 | */
29 | public static boolean isSDCardEnable()
30 | {
31 | return Environment.getExternalStorageState().equals(
32 | Environment.MEDIA_MOUNTED);
33 |
34 | }
35 |
36 | /**
37 | * 获取SD卡路径
38 | *
39 | * @return
40 | */
41 | public static String getSDCardPath()
42 | {
43 | return Environment.getExternalStorageDirectory().getAbsolutePath()
44 | + File.separator;
45 | }
46 |
47 | /**
48 | * 获取SD卡的剩余容量 单位byte
49 | *
50 | * @return
51 | */
52 | public static long getSDCardAllSize()
53 | {
54 | if (isSDCardEnable())
55 | {
56 | StatFs stat = new StatFs(getSDCardPath());
57 | // 获取空闲的数据块的数量
58 | long availableBlocks = (long) stat.getAvailableBlocks() - 4;
59 | // 获取单个数据块的大小(byte)
60 | long freeBlocks = stat.getAvailableBlocks();
61 | return freeBlocks * availableBlocks;
62 | }
63 | return 0;
64 | }
65 |
66 | /**
67 | * 获取指定路径所在空间的剩余可用容量字节数,单位byte
68 | *
69 | * @param filePath
70 | * @return 容量字节 SDCard可用空间,内部存储可用空间
71 | */
72 | public static long getFreeBytes(String filePath)
73 | {
74 | // 如果是sd卡的下的路径,则获取sd卡可用容量
75 | if (filePath.startsWith(getSDCardPath()))
76 | {
77 | filePath = getSDCardPath();
78 | } else
79 | {// 如果是内部存储的路径,则获取内存存储的可用容量
80 | filePath = Environment.getDataDirectory().getAbsolutePath();
81 | }
82 | StatFs stat = new StatFs(filePath);
83 | long availableBlocks = (long) stat.getAvailableBlocks() - 4;
84 | return stat.getBlockSize() * availableBlocks;
85 | }
86 |
87 | /**
88 | * 获取系统存储路径
89 | *
90 | * @return
91 | */
92 | public static String getRootDirectoryPath()
93 | {
94 | return Environment.getRootDirectory().getAbsolutePath();
95 | }
96 |
97 | // /**
98 | // * 判断是否具备写入权限
99 | // * @param context
100 | // * @return
101 | // */
102 | // public static boolean isReadAndWrite(Context context){
103 | // PackageManager pm = context.getPackageManager();
104 | // boolean permission = (PackageManager.PERMISSION_GRANTED ==
105 | // pm.checkPermission("android.permission.MOUNT_UNMOUNT_FILESYSTEMS", "packageName"));
106 | // return permission;
107 | // }
108 |
109 | }
110 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/StringUtil.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import java.util.regex.Pattern;
4 |
5 | /**
6 | * 1.二进制转换为十六进制
7 | * 2.E-mail 检测
8 | * 3.URL检测
9 | * 4.text是否包含空字符串
10 | * 5.添加对象数组
11 | * @author dds
12 | *
13 | */
14 | public class StringUtil {
15 |
16 | public static final String URL_REG_EXPRESSION = "^(https?://)?([a-zA-Z0-9_-]+\\.[a-zA-Z0-9_-]+)+(/*[A-Za-z0-9/\\-_&:?\\+=//.%]*)*";
17 | public static final String EMAIL_REG_EXPRESSION = "\\w+(\\.\\w+)*@\\w+(\\.\\w+)+";
18 |
19 | /**
20 | * 是否是URL
21 | *
22 | * @param s
23 | * @return
24 | */
25 | public static boolean isUrl(String s) {
26 | if (s == null) {
27 | return false;
28 | }
29 | return Pattern.matches(URL_REG_EXPRESSION, s);
30 | }
31 |
32 | /**
33 | * 是否是E-MAIL
34 | *
35 | * @param s
36 | * @return
37 | */
38 | public static boolean isEmail(String s) {
39 | if (s == null) {
40 | return true;
41 | }
42 | return Pattern.matches(EMAIL_REG_EXPRESSION, s);
43 | }
44 |
45 | /**
46 | * 是否含有空字符串
47 | *
48 | * @param s
49 | * @return
50 | */
51 | public static boolean isBlank(String s) {
52 | if (s == null) {
53 | return true;
54 | }
55 | return Pattern.matches("\\s*", s);
56 | }
57 |
58 | /**
59 | * 添加对象数组
60 | *
61 | * @param spliter
62 | * 间隔符
63 | * @param arr
64 | * 数组
65 | * @return
66 | */
67 | public static String join(String spliter, Object[] arr) {
68 | if (arr == null || arr.length == 0) {
69 | return "";
70 | }
71 | if (spliter == null) {
72 | spliter = "";
73 | }
74 | StringBuilder builder = new StringBuilder();
75 | for (int i = 0; i < arr.length; i++) {
76 | if (i == arr.length - 1) {
77 | break;
78 | }
79 | if (arr[i] == null) {
80 | continue;
81 | }
82 | builder.append(arr[i].toString());
83 | builder.append(spliter);
84 | }
85 | return builder.toString();
86 | }
87 |
88 |
89 |
90 | public static String b2h(String binary) {
91 |
92 | String hexStr[] = { "0", "1", "2", "3", "4", "5", "6", "7",
93 | "8", "9", "A", "B", "C", "D", "E", "F" };
94 | int length = binary.length();
95 | int temp = length % 4;
96 |
97 | if (temp != 0) {
98 | for (int i = 0; i < 4 - temp; i++) {
99 | binary = "0" + binary;
100 | }
101 | }
102 |
103 | length = binary.length();
104 | StringBuilder sb = new StringBuilder();
105 |
106 | for (int i = 0; i < length / 4; i++) {
107 | int num = 0;
108 |
109 | for (int j = i * 4; j < i * 4 + 4; j++) {
110 | num <<= 1;// 左移
111 | num |= (binary.charAt(j) - '0');
112 | }
113 | sb.append(hexStr[num]);
114 |
115 | }
116 | return sb.toString();
117 | }
118 |
119 | }
120 |
--------------------------------------------------------------------------------
/lib/src/main/java/gisluq/lib/Util/ToastUtils.java:
--------------------------------------------------------------------------------
1 | package gisluq.lib.Util;
2 |
3 | import android.content.Context;
4 | import android.widget.Toast;
5 |
6 | /**
7 | * Toast统一管理类
8 | *
9 | */
10 | public class ToastUtils
11 | {
12 |
13 | private ToastUtils()
14 | {
15 | /* cannot be instantiated */
16 | throw new UnsupportedOperationException("cannot be instantiated");
17 | }
18 |
19 | public static boolean isShow = true;
20 |
21 | /**
22 | * 短时间显示Toast
23 | *
24 | * @param context
25 | * @param message
26 | */
27 | public static void showShort(Context context, CharSequence message)
28 | {
29 | if (isShow)
30 | Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
31 | }
32 |
33 | /**
34 | * 短时间显示Toast
35 | *
36 | * @param context
37 | * @param message
38 | */
39 | public static void showShort(Context context, int message)
40 | {
41 | if (isShow)
42 | Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
43 | }
44 |
45 | /**
46 | * 长时间显示Toast
47 | *
48 | * @param context
49 | * @param message
50 | */
51 | public static void showLong(Context context, CharSequence message)
52 | {
53 | if (isShow)
54 | Toast.makeText(context, message, Toast.LENGTH_LONG).show();
55 | }
56 |
57 | /**
58 | * 长时间显示Toast
59 | *
60 | * @param context
61 | * @param message
62 | */
63 | public static void showLong(Context context, int message)
64 | {
65 | if (isShow)
66 | Toast.makeText(context, message, Toast.LENGTH_LONG).show();
67 | }
68 |
69 | /**
70 | * 自定义显示Toast时间
71 | *
72 | * @param context
73 | * @param message
74 | * @param duration
75 | */
76 | public static void show(Context context, CharSequence message, int duration)
77 | {
78 | if (isShow)
79 | Toast.makeText(context, message, duration).show();
80 | }
81 |
82 | /**
83 | * 自定义显示Toast时间
84 | *
85 | * @param context
86 | * @param message
87 | * @param duration
88 | */
89 | public static void show(Context context, int message, int duration)
90 | {
91 | if (isShow)
92 | Toast.makeText(context, message, duration).show();
93 | }
94 |
95 | }
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/btn_code_lock_default_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/btn_code_lock_default_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/btn_code_lock_default_holo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/btn_code_lock_default_holo2.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/btn_code_lock_touched_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/btn_code_lock_touched_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/pull.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/pull.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable-xhdpi/xlistview_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable-xhdpi/xlistview_arrow.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/btn_code_lock_default_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/btn_code_lock_default_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/btn_code_lock_default_holo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/btn_code_lock_default_holo2.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/btn_code_lock_touched_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/btn_code_lock_touched_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/indicator_code_lock_drag_direction_green_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/indicator_code_lock_drag_direction_green_up.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/indicator_code_lock_drag_direction_red_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/indicator_code_lock_drag_direction_red_up.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/indicator_code_lock_point_area_default_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/indicator_code_lock_point_area_default_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/indicator_code_lock_point_area_green_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/indicator_code_lock_point_area_green_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/indicator_code_lock_point_area_red_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/indicator_code_lock_point_area_red_holo.png
--------------------------------------------------------------------------------
/lib/src/main/res/drawable/magnify_lens.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/lib/src/main/res/drawable/magnify_lens.png
--------------------------------------------------------------------------------
/lib/src/main/res/layout/xlistview_footer.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
18 |
19 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/lib/src/main/res/layout/xlistview_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
18 |
19 |
24 |
25 |
29 |
30 |
35 |
36 |
41 |
42 |
43 |
44 |
52 |
53 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/lib/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/lib/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | lib
3 | 下拉刷新
4 | 松开刷新数据
5 | 正在加载...
6 | 上次更新时间:
7 | 查看更多
8 | 松开载入更多
9 |
10 |
11 | Pattern started
12 |
13 | Pattern cleared
14 |
15 | Cell added
16 |
17 | Pattern completed
18 |
19 |
20 |
--------------------------------------------------------------------------------
/readme/01-pad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/01-pad.png
--------------------------------------------------------------------------------
/readme/02-pad-mian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/02-pad-mian.png
--------------------------------------------------------------------------------
/readme/03-pad-helloworld.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/03-pad-helloworld.png
--------------------------------------------------------------------------------
/readme/04-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/04-app.png
--------------------------------------------------------------------------------
/readme/05-app-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/05-app-main.png
--------------------------------------------------------------------------------
/readme/06-app-helloworld.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/06-app-helloworld.png
--------------------------------------------------------------------------------
/readme/20180328105641.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/20180328105641.png
--------------------------------------------------------------------------------
/readme/widget-xml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widget-xml.png
--------------------------------------------------------------------------------
/readme/widgets/caculate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widgets/caculate.png
--------------------------------------------------------------------------------
/readme/widgets/edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widgets/edit.png
--------------------------------------------------------------------------------
/readme/widgets/identify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widgets/identify.png
--------------------------------------------------------------------------------
/readme/widgets/layer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widgets/layer.png
--------------------------------------------------------------------------------
/readme/widgets/legend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widgets/legend.png
--------------------------------------------------------------------------------
/readme/widgets/query.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/widgets/query.png
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/BaseMap/basemap.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/BaseMap/basemap.json
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/BaseMap/china.vtpk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/BaseMap/china.vtpk
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/BaseMap/配置说明.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/BaseMap/配置说明.txt
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/Media/Photo/图层名_要素ID_时间.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/Media/Photo/图层名_要素ID_时间.txt
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.cpg:
--------------------------------------------------------------------------------
1 | UTF-8
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.dbf
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.prj:
--------------------------------------------------------------------------------
1 | PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.sbn
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.sbx
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.shp
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4l.shx
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.cpg:
--------------------------------------------------------------------------------
1 | UTF-8
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.dbf
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.prj:
--------------------------------------------------------------------------------
1 | PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.sbn
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.sbx
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.shp
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/一级河流4p.shx
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.cpg:
--------------------------------------------------------------------------------
1 | UTF-8
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.dbf
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.prj:
--------------------------------------------------------------------------------
1 | PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.sbn
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.sbx
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.shp
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/OperationalLayers/首都和省级行政中心4m.shx
--------------------------------------------------------------------------------
/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gis-luq/RuntimeViewer/ba2f9f7924ca245aced361d0ce7a093761491919/readme/工程结构示例/RuntimeViewer/Projects/01-测试工程示例/image.png
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':lib'
2 |
--------------------------------------------------------------------------------