@ -1 +0,0 @@
|
|||||||
Subproject commit 4f78403179f5d5659054cd4ba702fdf6d30d2123
|
|
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 559 KiB |
@ -0,0 +1,14 @@
|
|||||||
|
*.iml
|
||||||
|
.gradle
|
||||||
|
/local.properties
|
||||||
|
/.idea/caches
|
||||||
|
/.idea/libraries
|
||||||
|
/.idea/modules.xml
|
||||||
|
/.idea/workspace.xml
|
||||||
|
/.idea/navEditor.xml
|
||||||
|
/.idea/assetWizardSettings.xml
|
||||||
|
.DS_Store
|
||||||
|
/build
|
||||||
|
/captures
|
||||||
|
.externalNativeBuild
|
||||||
|
.cxx
|
@ -0,0 +1,164 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<code_scheme name="Project" version="173">
|
||||||
|
<DBN-PSQL>
|
||||||
|
<case-options enabled="true">
|
||||||
|
<option name="KEYWORD_CASE" value="lower" />
|
||||||
|
<option name="FUNCTION_CASE" value="lower" />
|
||||||
|
<option name="PARAMETER_CASE" value="lower" />
|
||||||
|
<option name="DATATYPE_CASE" value="lower" />
|
||||||
|
<option name="OBJECT_CASE" value="preserve" />
|
||||||
|
</case-options>
|
||||||
|
<formatting-settings enabled="false" />
|
||||||
|
</DBN-PSQL>
|
||||||
|
<DBN-SQL>
|
||||||
|
<case-options enabled="true">
|
||||||
|
<option name="KEYWORD_CASE" value="lower" />
|
||||||
|
<option name="FUNCTION_CASE" value="lower" />
|
||||||
|
<option name="PARAMETER_CASE" value="lower" />
|
||||||
|
<option name="DATATYPE_CASE" value="lower" />
|
||||||
|
<option name="OBJECT_CASE" value="preserve" />
|
||||||
|
</case-options>
|
||||||
|
<formatting-settings enabled="false">
|
||||||
|
<option name="STATEMENT_SPACING" value="one_line" />
|
||||||
|
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
|
||||||
|
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
|
||||||
|
</formatting-settings>
|
||||||
|
</DBN-SQL>
|
||||||
|
<DBN-PSQL>
|
||||||
|
<case-options enabled="true">
|
||||||
|
<option name="KEYWORD_CASE" value="lower" />
|
||||||
|
<option name="FUNCTION_CASE" value="lower" />
|
||||||
|
<option name="PARAMETER_CASE" value="lower" />
|
||||||
|
<option name="DATATYPE_CASE" value="lower" />
|
||||||
|
<option name="OBJECT_CASE" value="preserve" />
|
||||||
|
</case-options>
|
||||||
|
<formatting-settings enabled="false" />
|
||||||
|
</DBN-PSQL>
|
||||||
|
<DBN-SQL>
|
||||||
|
<case-options enabled="true">
|
||||||
|
<option name="KEYWORD_CASE" value="lower" />
|
||||||
|
<option name="FUNCTION_CASE" value="lower" />
|
||||||
|
<option name="PARAMETER_CASE" value="lower" />
|
||||||
|
<option name="DATATYPE_CASE" value="lower" />
|
||||||
|
<option name="OBJECT_CASE" value="preserve" />
|
||||||
|
</case-options>
|
||||||
|
<formatting-settings enabled="false">
|
||||||
|
<option name="STATEMENT_SPACING" value="one_line" />
|
||||||
|
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
|
||||||
|
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
|
||||||
|
</formatting-settings>
|
||||||
|
</DBN-SQL>
|
||||||
|
<codeStyleSettings language="XML">
|
||||||
|
<indentOptions>
|
||||||
|
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||||
|
</indentOptions>
|
||||||
|
<arrangement>
|
||||||
|
<rules>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>xmlns:android</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>xmlns:.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*:id</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*:name</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>name</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>style</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<rule>
|
||||||
|
<match>
|
||||||
|
<AND>
|
||||||
|
<NAME>.*</NAME>
|
||||||
|
<XML_ATTRIBUTE />
|
||||||
|
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||||
|
</AND>
|
||||||
|
</match>
|
||||||
|
<order>BY_NAME</order>
|
||||||
|
</rule>
|
||||||
|
</section>
|
||||||
|
</rules>
|
||||||
|
</arrangement>
|
||||||
|
</codeStyleSettings>
|
||||||
|
</code_scheme>
|
||||||
|
</component>
|
@ -0,0 +1,461 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DBNavigator.Project.DataEditorManager">
|
||||||
|
<record-view-column-sorting-type value="BY_INDEX" />
|
||||||
|
<value-preview-text-wrapping value="true" />
|
||||||
|
<value-preview-pinned value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DataExportManager">
|
||||||
|
<export-instructions>
|
||||||
|
<create-header value="true" />
|
||||||
|
<quote-values-containing-separator value="true" />
|
||||||
|
<quote-all-values value="false" />
|
||||||
|
<value-separator value="" />
|
||||||
|
<file-name value="" />
|
||||||
|
<file-location value="" />
|
||||||
|
<scope value="GLOBAL" />
|
||||||
|
<destination value="FILE" />
|
||||||
|
<format value="EXCEL" />
|
||||||
|
<charset value="GBK" />
|
||||||
|
</export-instructions>
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||||
|
<autoscroll-to-editor value="false" />
|
||||||
|
<autoscroll-from-editor value="true" />
|
||||||
|
<show-object-properties value="true" />
|
||||||
|
<loaded-nodes />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||||
|
<open-files />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.EditorStateManager">
|
||||||
|
<last-used-providers />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ExecutionManager">
|
||||||
|
<retain-sticky-names value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.MethodExecutionManager">
|
||||||
|
<method-browser />
|
||||||
|
<execution-history>
|
||||||
|
<group-entries value="true" />
|
||||||
|
<execution-inputs />
|
||||||
|
</execution-history>
|
||||||
|
<argument-values-cache />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ObjectDependencyManager">
|
||||||
|
<last-used-dependency-type value="INCOMING" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||||
|
<last-used-operator value="EQUAL" />
|
||||||
|
<filters />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
|
||||||
|
<recently-used-interfaces />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.Settings">
|
||||||
|
<connections />
|
||||||
|
<browser-settings>
|
||||||
|
<general>
|
||||||
|
<display-mode value="TABBED" />
|
||||||
|
<navigation-history-size value="100" />
|
||||||
|
<show-object-details value="false" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<object-type-filter>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="true" />
|
||||||
|
<object-type name="ROLE" enabled="true" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="true" />
|
||||||
|
<object-type name="CHARSET" enabled="true" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED_TABLE" enabled="true" />
|
||||||
|
<object-type name="COLUMN" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="true" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||||
|
<object-type name="ARGUMENT" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="true" />
|
||||||
|
<object-type name="CLUSTER" enabled="true" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</object-type-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting>
|
||||||
|
<object-type name="COLUMN" sorting-type="NAME" />
|
||||||
|
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||||
|
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||||
|
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||||
|
</sorting>
|
||||||
|
<default-editors>
|
||||||
|
<object-type name="VIEW" editor-type="SELECTION" />
|
||||||
|
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||||
|
<object-type name="TYPE" editor-type="SELECTION" />
|
||||||
|
</default-editors>
|
||||||
|
</browser-settings>
|
||||||
|
<navigation-settings>
|
||||||
|
<lookup-filters>
|
||||||
|
<lookup-objects>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="false" />
|
||||||
|
<object-type name="ROLE" enabled="false" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="false" />
|
||||||
|
<object-type name="CHARSET" enabled="false" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED TABLE" enabled="false" />
|
||||||
|
<object-type name="COLUMN" enabled="false" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="false" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE ATTRIBUTE" enabled="false" />
|
||||||
|
<object-type name="ARGUMENT" enabled="false" />
|
||||||
|
<object-type name="DIMENSION" enabled="false" />
|
||||||
|
<object-type name="CLUSTER" enabled="false" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</lookup-objects>
|
||||||
|
<force-database-load value="false" />
|
||||||
|
<prompt-connection-selection value="true" />
|
||||||
|
<prompt-schema-selection value="true" />
|
||||||
|
</lookup-filters>
|
||||||
|
</navigation-settings>
|
||||||
|
<dataset-grid-settings>
|
||||||
|
<general>
|
||||||
|
<enable-zooming value="true" />
|
||||||
|
<enable-column-tooltip value="true" />
|
||||||
|
</general>
|
||||||
|
<sorting>
|
||||||
|
<nulls-first value="true" />
|
||||||
|
<max-sorting-columns value="4" />
|
||||||
|
</sorting>
|
||||||
|
<tracking-columns>
|
||||||
|
<columnNames value="" />
|
||||||
|
<visible value="true" />
|
||||||
|
<editable value="false" />
|
||||||
|
</tracking-columns>
|
||||||
|
</dataset-grid-settings>
|
||||||
|
<dataset-editor-settings>
|
||||||
|
<text-editor-popup>
|
||||||
|
<active value="false" />
|
||||||
|
<active-if-empty value="false" />
|
||||||
|
<data-length-threshold value="100" />
|
||||||
|
<popup-delay value="1000" />
|
||||||
|
</text-editor-popup>
|
||||||
|
<values-actions-popup>
|
||||||
|
<show-popup-button value="true" />
|
||||||
|
<element-count-threshold value="1000" />
|
||||||
|
<data-length-threshold value="250" />
|
||||||
|
</values-actions-popup>
|
||||||
|
<general>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<fetch-timeout value="30" />
|
||||||
|
<trim-whitespaces value="true" />
|
||||||
|
<convert-empty-strings-to-null value="true" />
|
||||||
|
<select-content-on-cell-edit value="true" />
|
||||||
|
<large-value-preview-active value="true" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<prompt-filter-dialog value="true" />
|
||||||
|
<default-filter-type value="BASIC" />
|
||||||
|
</filters>
|
||||||
|
<qualified-text-editor text-length-threshold="300">
|
||||||
|
<content-types>
|
||||||
|
<content-type name="Text" enabled="true" />
|
||||||
|
<content-type name="Properties" enabled="true" />
|
||||||
|
<content-type name="XML" enabled="true" />
|
||||||
|
<content-type name="DTD" enabled="true" />
|
||||||
|
<content-type name="HTML" enabled="true" />
|
||||||
|
<content-type name="XHTML" enabled="true" />
|
||||||
|
<content-type name="Java" enabled="true" />
|
||||||
|
<content-type name="SQL" enabled="true" />
|
||||||
|
<content-type name="PL/SQL" enabled="true" />
|
||||||
|
<content-type name="JSON" enabled="true" />
|
||||||
|
<content-type name="JSON5" enabled="true" />
|
||||||
|
<content-type name="Groovy" enabled="true" />
|
||||||
|
<content-type name="AIDL" enabled="true" />
|
||||||
|
<content-type name="YAML" enabled="true" />
|
||||||
|
<content-type name="Manifest" enabled="true" />
|
||||||
|
</content-types>
|
||||||
|
</qualified-text-editor>
|
||||||
|
<record-navigation>
|
||||||
|
<navigation-target value="VIEWER" />
|
||||||
|
</record-navigation>
|
||||||
|
</dataset-editor-settings>
|
||||||
|
<code-editor-settings>
|
||||||
|
<general>
|
||||||
|
<show-object-navigation-gutter value="false" />
|
||||||
|
<show-spec-declaration-navigation-gutter value="true" />
|
||||||
|
<enable-spellchecking value="true" />
|
||||||
|
<enable-reference-spellchecking value="false" />
|
||||||
|
</general>
|
||||||
|
<confirmations>
|
||||||
|
<save-changes value="false" />
|
||||||
|
<revert-changes value="true" />
|
||||||
|
</confirmations>
|
||||||
|
</code-editor-settings>
|
||||||
|
<code-completion-settings>
|
||||||
|
<filters>
|
||||||
|
<basic-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</basic-filter>
|
||||||
|
<extended-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</extended-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting enabled="true">
|
||||||
|
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||||
|
<sorting-element type="OBJECT" id="column" />
|
||||||
|
<sorting-element type="OBJECT" id="table" />
|
||||||
|
<sorting-element type="OBJECT" id="view" />
|
||||||
|
<sorting-element type="OBJECT" id="materialized view" />
|
||||||
|
<sorting-element type="OBJECT" id="index" />
|
||||||
|
<sorting-element type="OBJECT" id="constraint" />
|
||||||
|
<sorting-element type="OBJECT" id="trigger" />
|
||||||
|
<sorting-element type="OBJECT" id="synonym" />
|
||||||
|
<sorting-element type="OBJECT" id="sequence" />
|
||||||
|
<sorting-element type="OBJECT" id="procedure" />
|
||||||
|
<sorting-element type="OBJECT" id="function" />
|
||||||
|
<sorting-element type="OBJECT" id="package" />
|
||||||
|
<sorting-element type="OBJECT" id="type" />
|
||||||
|
<sorting-element type="OBJECT" id="dimension" />
|
||||||
|
<sorting-element type="OBJECT" id="cluster" />
|
||||||
|
<sorting-element type="OBJECT" id="dblink" />
|
||||||
|
<sorting-element type="OBJECT" id="schema" />
|
||||||
|
<sorting-element type="OBJECT" id="role" />
|
||||||
|
<sorting-element type="OBJECT" id="user" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="function" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||||
|
</sorting>
|
||||||
|
<format>
|
||||||
|
<enforce-code-style-case value="true" />
|
||||||
|
</format>
|
||||||
|
</code-completion-settings>
|
||||||
|
<execution-engine-settings>
|
||||||
|
<statement-execution>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<execution-timeout value="20" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<focus-result value="false" />
|
||||||
|
<prompt-execution value="false" />
|
||||||
|
</statement-execution>
|
||||||
|
<script-execution>
|
||||||
|
<command-line-interfaces />
|
||||||
|
<execution-timeout value="300" />
|
||||||
|
</script-execution>
|
||||||
|
<method-execution>
|
||||||
|
<execution-timeout value="30" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<parameter-history-size value="10" />
|
||||||
|
</method-execution>
|
||||||
|
</execution-engine-settings>
|
||||||
|
<operation-settings>
|
||||||
|
<transactions>
|
||||||
|
<uncommitted-changes>
|
||||||
|
<on-project-close value="ASK" />
|
||||||
|
<on-disconnect value="ASK" />
|
||||||
|
<on-autocommit-toggle value="ASK" />
|
||||||
|
</uncommitted-changes>
|
||||||
|
<multiple-uncommitted-changes>
|
||||||
|
<on-commit value="ASK" />
|
||||||
|
<on-rollback value="ASK" />
|
||||||
|
</multiple-uncommitted-changes>
|
||||||
|
</transactions>
|
||||||
|
<session-browser>
|
||||||
|
<disconnect-session value="ASK" />
|
||||||
|
<kill-session value="ASK" />
|
||||||
|
<reload-on-filter-change value="false" />
|
||||||
|
</session-browser>
|
||||||
|
<compiler>
|
||||||
|
<compile-type value="KEEP" />
|
||||||
|
<compile-dependencies value="ASK" />
|
||||||
|
<always-show-controls value="false" />
|
||||||
|
</compiler>
|
||||||
|
<debugger>
|
||||||
|
<debugger-type value="ASK" />
|
||||||
|
<use-generic-runners value="true" />
|
||||||
|
</debugger>
|
||||||
|
</operation-settings>
|
||||||
|
<ddl-file-settings>
|
||||||
|
<extensions>
|
||||||
|
<mapping file-type-id="VIEW" extensions="vw" />
|
||||||
|
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||||
|
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||||
|
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||||
|
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||||
|
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||||
|
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||||
|
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||||
|
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||||
|
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||||
|
</extensions>
|
||||||
|
<general>
|
||||||
|
<lookup-ddl-files value="true" />
|
||||||
|
<create-ddl-files value="false" />
|
||||||
|
<synchronize-ddl-files value="true" />
|
||||||
|
<use-qualified-names value="false" />
|
||||||
|
<make-scripts-rerunnable value="true" />
|
||||||
|
</general>
|
||||||
|
</ddl-file-settings>
|
||||||
|
<general-settings>
|
||||||
|
<regional-settings>
|
||||||
|
<date-format value="MEDIUM" />
|
||||||
|
<number-format value="UNGROUPED" />
|
||||||
|
<locale value="SYSTEM_DEFAULT" />
|
||||||
|
<use-custom-formats value="false" />
|
||||||
|
</regional-settings>
|
||||||
|
<environment>
|
||||||
|
<environment-types>
|
||||||
|
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||||
|
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||||
|
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||||
|
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||||
|
</environment-types>
|
||||||
|
<visibility-settings>
|
||||||
|
<connection-tabs value="true" />
|
||||||
|
<dialog-headers value="true" />
|
||||||
|
<object-editor-tabs value="true" />
|
||||||
|
<script-editor-tabs value="false" />
|
||||||
|
<execution-result-tabs value="true" />
|
||||||
|
</visibility-settings>
|
||||||
|
</environment>
|
||||||
|
</general-settings>
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.StatementExecutionManager">
|
||||||
|
<execution-variables />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
|
<component name="GradleSettings">
|
||||||
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="PLATFORM" />
|
||||||
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="gradleJvm" value="1.8" />
|
||||||
|
<option name="modules">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/app" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
<option name="resolveModulePerSourceSet" value="false" />
|
||||||
|
</GradleProjectSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Maven Central repository" />
|
||||||
|
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="jboss.community" />
|
||||||
|
<option name="name" value="JBoss Community repository" />
|
||||||
|
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="BintrayJCenter" />
|
||||||
|
<option name="name" value="BintrayJCenter" />
|
||||||
|
<option name="url" value="https://jcenter.bintray.com/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="Google" />
|
||||||
|
<option name="name" value="Google" />
|
||||||
|
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||||
|
</remote-repository>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="Android" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RunConfigurationProducerService">
|
||||||
|
<option name="ignoredProducers">
|
||||||
|
<set>
|
||||||
|
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
||||||
|
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
||||||
|
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,154 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="issues">
|
||||||
|
<option name="index">
|
||||||
|
<map>
|
||||||
|
<entry key="/Dummy.txt">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="D:/ComputerScience/softwareEngineer/git_src/Android-Student-Course-Selection-System/app/src/main/java/com/check_course/Course_ManagerActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/build.gradle">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/assets/litepal.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/Comments.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/Course.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/CourseBasicInfoActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/CourseRecommendedActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/CourseSelectingActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/Course_ManagerActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/LoginActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/PersonalBasicInfoActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/RegisterActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/User.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/User_ManagerActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/java/com/example/softengineering_selectivecourse/ui/login/LoginActivity.java">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_course__manager.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_course_basic_info.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_course_recommended.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_course_selecting.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_login.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_personal_basic_info.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_register.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/activity_user__manager.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/comment_sqlist.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/sqlist.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/layout/user_sqlist.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="$PROJECT_DIR$/app/src/main/res/values/selectDown.xml">
|
||||||
|
<value>
|
||||||
|
<set />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="projectSettings">
|
||||||
|
<option name="alternativeWorkingDirPath" value="" />
|
||||||
|
<option name="localAnalysisScripName" value="<NO LOCAL ANALYSIS>" />
|
||||||
|
<option name="serverName" value="<NO SONAR>" />
|
||||||
|
<option name="useAlternativeWorkingDir" value="false" />
|
||||||
|
<option name="workingDirSelection" value="<PROJECT>" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1 @@
|
|||||||
|
/build
|
@ -0,0 +1,40 @@
|
|||||||
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 30
|
||||||
|
buildToolsVersion "30.0.2"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId "com.example.softengineering_selectivecourse"
|
||||||
|
minSdkVersion 14
|
||||||
|
targetSdkVersion 30
|
||||||
|
versionCode 1
|
||||||
|
versionName "1.0"
|
||||||
|
|
||||||
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||||
|
implementation 'com.google.android.material:material:1.0.0'
|
||||||
|
implementation 'androidx.annotation:annotation:1.1.0'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
|
||||||
|
testImplementation 'junit:junit:4.12'
|
||||||
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||||
|
implementation 'org.litepal.android:core:1.5.1'
|
||||||
|
//noinspection GradleCompatible
|
||||||
|
implementation 'com.android.support:appcompat-v7:27.0.1'
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# You can control the set of applied configuration files using the
|
||||||
|
# proguardFiles setting in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Uncomment this to preserve the line number information for
|
||||||
|
# debugging stack traces.
|
||||||
|
#-keepattributes SourceFile,LineNumberTable
|
||||||
|
|
||||||
|
# If you keep the line number information, uncomment this to
|
||||||
|
# hide the original source file name.
|
||||||
|
#-renamesourcefileattribute SourceFile
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.test.platform.app.InstrumentationRegistry;
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instrumented test, which will execute on an Android device.
|
||||||
|
*
|
||||||
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
|
*/
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class ExampleInstrumentedTest {
|
||||||
|
@Test
|
||||||
|
public void useAppContext() {
|
||||||
|
// Context of the app under test.
|
||||||
|
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||||
|
assertEquals("com.example.softengineering_selectivecourse", appContext.getPackageName());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.example.softengineering_selectivecourse">
|
||||||
|
|
||||||
|
<application
|
||||||
|
android:name="org.litepal.LitePalApplication"
|
||||||
|
android:allowBackup="true"
|
||||||
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
|
android:supportsRtl="true"
|
||||||
|
android:theme="@style/AppTheme">
|
||||||
|
<activity android:name=".CourseBasicInfoActivity" />
|
||||||
|
<activity android:name=".CourseSelectingActivity" />
|
||||||
|
<activity android:name=".CourseRecommendedActivity" />
|
||||||
|
<activity android:name=".PersonalBasicInfoActivity" />
|
||||||
|
<activity android:name=".User_ManagerActivity" />
|
||||||
|
<activity android:name=".Course_ManagerActivity" />
|
||||||
|
<activity android:name=".RegisterActivity" />
|
||||||
|
<activity android:name=".LoginActivity">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<litepal>
|
||||||
|
<dbname value = "CourseSelctionData"></dbname>
|
||||||
|
<version value = "6"></version>
|
||||||
|
<list>
|
||||||
|
<mapping class="com.example.softengineering_selectivecourse.User"></mapping>
|
||||||
|
<mapping class="com.example.softengineering_selectivecourse.Course"></mapping>
|
||||||
|
<mapping class="com.example.softengineering_selectivecourse.Comments"></mapping>
|
||||||
|
</list>
|
||||||
|
</litepal>
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import org.litepal.crud.DataSupport;
|
||||||
|
|
||||||
|
public class Comments extends DataSupport {
|
||||||
|
private int id;
|
||||||
|
private String comments;
|
||||||
|
private String provider;
|
||||||
|
private String courseName;
|
||||||
|
public String getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
public void setComments(String comments) {
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCourseName() {
|
||||||
|
return courseName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProvider() {
|
||||||
|
return provider;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProvider(String provider) {
|
||||||
|
this.provider = provider;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCourseName(String courseName) {
|
||||||
|
this.courseName = courseName;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,126 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import org.litepal.crud.DataSupport;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class Course extends DataSupport {
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String teacher;
|
||||||
|
private String classFeature;
|
||||||
|
private int credit;
|
||||||
|
private int classtime;
|
||||||
|
private int classroom;
|
||||||
|
private int NumOfCourseSelected;
|
||||||
|
private int NumOfCourseNeeded;
|
||||||
|
private String brief_introduction;
|
||||||
|
private ArrayList<com.example.softengineering_selectivecourse.User> selected = new ArrayList<com.example.softengineering_selectivecourse.User>();
|
||||||
|
private ArrayList<Comments> comments = new ArrayList<Comments>();
|
||||||
|
|
||||||
|
public int getClassroom() {
|
||||||
|
return classroom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClassroom(int classroom) {
|
||||||
|
this.classroom = classroom;
|
||||||
|
}
|
||||||
|
// private ArrayList<userIdentification> numOfStuSelected= new ArrayList<userIdentification>();
|
||||||
|
// private ArrayList<Integer> Comments = new ArrayList<Integer>();
|
||||||
|
|
||||||
|
// public class userIdentification{
|
||||||
|
// private int id;
|
||||||
|
// private String name;
|
||||||
|
// }
|
||||||
|
public ArrayList<com.example.softengineering_selectivecourse.Comments> getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClassFeature() {
|
||||||
|
return classFeature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClassFeature(String classFeature) {
|
||||||
|
this.classFeature = classFeature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArrayList<com.example.softengineering_selectivecourse.User> getSelected() {
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getClasstime() {
|
||||||
|
return classtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCredit() {
|
||||||
|
return credit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getNumOfCourseNeeded() {
|
||||||
|
return NumOfCourseNeeded;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNumOfCourseSelected() {
|
||||||
|
return NumOfCourseSelected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBrief_introduction() {
|
||||||
|
return brief_introduction;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTeacher() {
|
||||||
|
return teacher;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComments(ArrayList<com.example.softengineering_selectivecourse.Comments> comments) {
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBrief_introduction(String brief_introduction) {
|
||||||
|
this.brief_introduction = brief_introduction;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClasstime(int classtime) {
|
||||||
|
this.classtime = classtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCredit(int credit) {
|
||||||
|
this.credit = credit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setNumOfCourseNeeded(int numOfCourseNeeded) {
|
||||||
|
NumOfCourseNeeded = numOfCourseNeeded;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumOfCourseSelected(int numOfCourseSelected) {
|
||||||
|
NumOfCourseSelected = numOfCourseSelected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSelected(ArrayList<com.example.softengineering_selectivecourse.User> selected) {
|
||||||
|
this.selected = selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTeacher(String teacher) {
|
||||||
|
this.teacher = teacher;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,289 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ListView;
|
||||||
|
import android.widget.SimpleAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.litepal.crud.DataSupport;
|
||||||
|
import org.litepal.util.DBUtility;
|
||||||
|
import org.w3c.dom.Text;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class CourseRecommendedActivity extends AppCompatActivity {
|
||||||
|
private TextView textClikedCourse;
|
||||||
|
private Button attendCourse;
|
||||||
|
private Button getCourseDetails;
|
||||||
|
private ListView lv;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private ArrayList<Map<String,Object>> data;//所有记录
|
||||||
|
private Map<String,Object> item; //每一条记录
|
||||||
|
private SimpleAdapter listAdapter; //适配器
|
||||||
|
View view;
|
||||||
|
long selCourseId;
|
||||||
|
long selUserId;
|
||||||
|
String selUserName;
|
||||||
|
String selCourseName;
|
||||||
|
Course selCourse;
|
||||||
|
String courseTable = DBUtility.getTableNameByClassName(Course.class.getName());
|
||||||
|
String userTable = DBUtility.getTableNameByClassName(User.class.getName());
|
||||||
|
String commentTable = DBUtility.getTableNameByClassName(Comments.class.getName());
|
||||||
|
// classroomTable = DBUtility.getTableNameByClassName(Classroom.class.getName());
|
||||||
|
// studentTable = DBUtility.getTableNameByClassName(Student.class.getName());
|
||||||
|
// teacherTable = DBUtility.getTableNameByClassName(Teacher.class.getName());
|
||||||
|
// idcardTable = DBUtility.getTableNameByClassName(IdCard.class.getName());
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_course_recommended);
|
||||||
|
Intent intent = getIntent();
|
||||||
|
final String userName = intent.getStringExtra("name");
|
||||||
|
List<User> users = DataSupport.where("name = ?", userName).find(User.class);
|
||||||
|
|
||||||
|
if (users.isEmpty())
|
||||||
|
{
|
||||||
|
Toast.makeText(CourseRecommendedActivity.this,"发生未知错误,显示详细信息失败",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
User user = users.get(0);
|
||||||
|
selUserId = user.getId();
|
||||||
|
selUserName = user.getName();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
getCourseDetails = (Button) findViewById(R.id.buttonCourseRecommendedQueryDetail);
|
||||||
|
getCourseDetails.setEnabled(false);
|
||||||
|
getCourseDetails.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
// Intent intent = new Intent();
|
||||||
|
// intent.putExtra("name", userName);
|
||||||
|
// intent.putExtra("courseId", selCourseId);
|
||||||
|
// intent.setClass(CourseRecommendedActivity.this, CourseBasicInfoActivity.class);
|
||||||
|
// startActivity(intent);
|
||||||
|
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.putExtra("name", userName);
|
||||||
|
intent.putExtra("courseId", selCourseId);
|
||||||
|
intent.setClass(CourseRecommendedActivity.this, CourseBasicInfoActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
CourseRecommendedActivity.this.finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
lv = (ListView) findViewById(R.id.lv5);
|
||||||
|
data = new ArrayList<Map<String, Object>>();//将data实例化
|
||||||
|
|
||||||
|
dbFindAll(); //查询的方法//查询
|
||||||
|
|
||||||
|
|
||||||
|
attendCourse = (Button) findViewById(R.id.buttonCourseRecommendedSelect);
|
||||||
|
attendCourse.setEnabled(false);
|
||||||
|
attendCourse.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
CourseAdd();
|
||||||
|
dbFindAll();
|
||||||
|
textClikedCourse.setText("");
|
||||||
|
attendCourse.setEnabled(false);
|
||||||
|
Toast.makeText(CourseRecommendedActivity.this,"选课成功!",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
textClikedCourse = (TextView) findViewById(R.id.textCourseRecommendedClikedCourse);
|
||||||
|
//
|
||||||
|
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
Map<String,Object> listItem = (Map<String,Object>)lv.getItemAtPosition(position);
|
||||||
|
textClikedCourse.setText((String)listItem.get("cname"));
|
||||||
|
List<Course> courses = DataSupport.where("name = ? and id = ?", (String)listItem.get("cname"), listItem.get("cid").toString() ).find(Course.class);
|
||||||
|
if(courses.isEmpty())
|
||||||
|
{
|
||||||
|
Toast.makeText(CourseRecommendedActivity.this,"can't find the course, some wrong happened",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Course course = courses.get(0);
|
||||||
|
selCourse = course;
|
||||||
|
selCourseId = course.getId();
|
||||||
|
selCourseName = course.getName();
|
||||||
|
attendCourse.setEnabled(true);
|
||||||
|
getCourseDetails.setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
private void CourseAdd()
|
||||||
|
{
|
||||||
|
User updateUser = new User();
|
||||||
|
List<User> users = DataSupport.where("id = ? and name = ?", Long.toString(selUserId), selUserName).find(User.class);
|
||||||
|
if (users.isEmpty())
|
||||||
|
{
|
||||||
|
Toast.makeText(CourseRecommendedActivity.this,"发生未知错误,显示详细信息失败",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
User user = users.get(0);
|
||||||
|
user.getCourse_selected().add(selCourse);
|
||||||
|
if(user.save())
|
||||||
|
{
|
||||||
|
List<User> userss = DataSupport.where("id = ? and name = ?", Long.toString(selUserId), selUserName).find(User.class);
|
||||||
|
User xuser = userss.get(0);
|
||||||
|
|
||||||
|
List<Course> xcourse = xuser.getCourse_selected();
|
||||||
|
if(xcourse.isEmpty())
|
||||||
|
{
|
||||||
|
Log.d("CourseRecommended", Integer.toString(xcourse.size()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Log.d("CourseRecommended", "update lose");
|
||||||
|
}
|
||||||
|
// if (selectedCourse.isEmpty())
|
||||||
|
// {
|
||||||
|
// Log.d("CourseRecommended", "the selectedCourse is empty");
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// User userUpdate = new User();
|
||||||
|
// userUpdate.setCourse_selected(selectedCourse);
|
||||||
|
//// for (Course courseHad: selectedCourse)
|
||||||
|
//// {
|
||||||
|
//// userUpdate.getCourse_selected().add(courseHad);
|
||||||
|
//// }
|
||||||
|
//// userUpdate.getCourse_selected().add(selCourse);
|
||||||
|
//
|
||||||
|
// userUpdate.updateAll("name = ? and id = ? ", selUserName, Long.toString(selUserId));
|
||||||
|
// List<User> userss = DataSupport.where("id = ? and name = ?", Long.toString(selUserId), selUserName).find(User.class);
|
||||||
|
// User xuser = userss.get(0);
|
||||||
|
// Log.d("CourseRecommended", xuser.getName());
|
||||||
|
// ArrayList<Course> tt = xuser.getCourse_selected();
|
||||||
|
// if(tt.isEmpty())
|
||||||
|
// {
|
||||||
|
// Log.d("CourseRecommended", "the tt is empty");
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Log.d("CourseRecommended", tt.get(0).getName());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void dbFindAll(){
|
||||||
|
data.clear();//防止重复添加,每次清空
|
||||||
|
List<User> users = DataSupport.where("id = ? and name = ?", Long.toString(selUserId), selUserName).find(User.class);
|
||||||
|
if (users.isEmpty())
|
||||||
|
{
|
||||||
|
Toast.makeText(CourseRecommendedActivity.this,"发生未知错误,显示详细信息失败",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
User user = users.get(0);
|
||||||
|
int militaryNotTaken = user.getMilitary_class_NotTaken();
|
||||||
|
int natureNotTaken = user.getNaturalScience_class_NotTaken();
|
||||||
|
int politicalNotTaken = user.getPolitical_class_NotTaken();
|
||||||
|
int humanityNotTaken = user.getHumanity_class_NotTaken();
|
||||||
|
List<Course> courseMilitary = DataSupport.where("classFeature = ? and credit < ?", "Military", Integer.toString(militaryNotTaken)).find(Course.class);
|
||||||
|
List<Course> courseNature = DataSupport.where("classFeature = ? and credit < ?", "Nature", Integer.toString(natureNotTaken)).find(Course.class);
|
||||||
|
List<Course> coursePolitical = DataSupport.where("classFeature = ? and credit < ?", "Political", Integer.toString(politicalNotTaken)).find(Course.class);
|
||||||
|
List<Course> courseHumanity = DataSupport.where("classFeature = ? and credit < ?", "Humanity", Integer.toString(humanityNotTaken)).find(Course.class);
|
||||||
|
// List<Course> recommendedCourse = ;//TO DO 没有去除已经选择的课程,这是一个重要的不足
|
||||||
|
// ArrayList<Course> courses = user.getCourse_selected();
|
||||||
|
int num = 1;
|
||||||
|
for (Course course: courseMilitary)
|
||||||
|
{
|
||||||
|
int uid = course.getId();
|
||||||
|
String uclass = course.getClassFeature();
|
||||||
|
String uname = course.getName();
|
||||||
|
int ucredit = course.getCredit();
|
||||||
|
item = new HashMap<String, Object>();
|
||||||
|
item.put("id", num);
|
||||||
|
item.put("cid", uid);
|
||||||
|
item.put("cclass", uclass);
|
||||||
|
item.put("cname", uname);
|
||||||
|
item.put("ccredit", ucredit);
|
||||||
|
data.add(item);
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Course course: courseNature)
|
||||||
|
{
|
||||||
|
int uid = course.getId();
|
||||||
|
String uclass = course.getClassFeature();
|
||||||
|
String uname = course.getName();
|
||||||
|
int ucredit = course.getCredit();
|
||||||
|
item = new HashMap<String, Object>();
|
||||||
|
item.put("id", num);
|
||||||
|
item.put("cid", uid);
|
||||||
|
item.put("cclass", uclass);
|
||||||
|
item.put("cname", uname);
|
||||||
|
item.put("ccredit", ucredit);
|
||||||
|
data.add(item);
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
for (Course course: coursePolitical)
|
||||||
|
{
|
||||||
|
int uid = course.getId();
|
||||||
|
String uclass = course.getClassFeature();
|
||||||
|
String uname = course.getName();
|
||||||
|
int ucredit = course.getCredit();
|
||||||
|
item = new HashMap<String, Object>();
|
||||||
|
item.put("id", num);
|
||||||
|
item.put("cid", uid);
|
||||||
|
item.put("cclass", uclass);
|
||||||
|
item.put("cname", uname);
|
||||||
|
item.put("ccredit", ucredit);
|
||||||
|
data.add(item);
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
for (Course course: courseHumanity)
|
||||||
|
{
|
||||||
|
int uid = course.getId();
|
||||||
|
String uclass = course.getClassFeature();
|
||||||
|
String uname = course.getName();
|
||||||
|
int ucredit = course.getCredit();
|
||||||
|
item = new HashMap<String, Object>();
|
||||||
|
item.put("id", num);
|
||||||
|
item.put("cid", uid);
|
||||||
|
item.put("cclass", uclass);
|
||||||
|
item.put("cname", uname);
|
||||||
|
item.put("ccredit", ucredit);
|
||||||
|
data.add(item);
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
showList();
|
||||||
|
}
|
||||||
|
|
||||||
|
//显示所有的记录
|
||||||
|
public void showList(){
|
||||||
|
listAdapter = new SimpleAdapter(this,data,
|
||||||
|
R.layout.sqlist,
|
||||||
|
new String[]{"id", "cid", "cclass", "cname", "ccredit"},
|
||||||
|
new int[]{R.id.textID1, R.id.textCID1, R.id.textCourseClass1, R.id.textCourseName1, R.id.textCredit1});
|
||||||
|
lv.setAdapter(listAdapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,189 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ListView;
|
||||||
|
import android.widget.SimpleAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.litepal.crud.DataSupport;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class PersonalBasicInfoActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private TextView TextViewUserName;
|
||||||
|
private TextView TextViewUserID;
|
||||||
|
private TextView TextViewUserMajor;
|
||||||
|
private TextView TextViewUserCreditNotTaken_Military;
|
||||||
|
private TextView TextViewUserCreditNotTaken_Nature;
|
||||||
|
private TextView TextViewUserCreditNotTaken_Political;
|
||||||
|
private TextView TextViewUserCreditNotTaken_Humanity;
|
||||||
|
private ListView lv;
|
||||||
|
private TextView TextViewUserSelectedCourse;
|
||||||
|
private Button ButtonDropCourse;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private ArrayList<Map<String,Object>> data;//所有记录
|
||||||
|
private Map<String,Object> item; //每一条记录
|
||||||
|
private SimpleAdapter listAdapter; //适配器
|
||||||
|
View view;
|
||||||
|
int selCourseId;
|
||||||
|
long selUserId;
|
||||||
|
String selUserName;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_personal_basic_info);
|
||||||
|
Intent intent = getIntent();
|
||||||
|
final String userName = intent.getStringExtra("name");
|
||||||
|
List<User> users = DataSupport.where("name = ?", userName).find(User.class);
|
||||||
|
|
||||||
|
TextViewUserName = (TextView) findViewById(R.id.textBasicInfoName);
|
||||||
|
TextViewUserID = (TextView) findViewById(R.id.textBasicINfoID1);
|
||||||
|
TextViewUserMajor = (TextView) findViewById(R.id.textBasicINfoMajor1);
|
||||||
|
TextViewUserCreditNotTaken_Military = (TextView) findViewById(R.id.textBasicINfoMilitary1);
|
||||||
|
TextViewUserCreditNotTaken_Nature = (TextView) findViewById(R.id.textBasicINfoNature1);
|
||||||
|
TextViewUserCreditNotTaken_Political = (TextView) findViewById(R.id.textBasicINfoPolitical1);
|
||||||
|
TextViewUserCreditNotTaken_Humanity = (TextView) findViewById(R.id.textBasicINfohumanity1);
|
||||||
|
TextViewUserSelectedCourse = (TextView) findViewById(R.id.textBasicINfoClikedCourse);
|
||||||
|
ButtonDropCourse = (Button) findViewById(R.id.buttonBasicInfoDrop);
|
||||||
|
Button buttonRecommend = (Button) findViewById(R.id.buttonBasicInfoRecommend);
|
||||||
|
Button buttonQuery = (Button) findViewById(R.id.buttonBasicInfoSelect);
|
||||||
|
|
||||||
|
buttonRecommend.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.putExtra("name", userName);
|
||||||
|
intent.setClass(PersonalBasicInfoActivity.this, CourseRecommendedActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
buttonQuery.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.putExtra("name", userName);
|
||||||
|
intent.setClass(PersonalBasicInfoActivity.this, CourseSelectingActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
lv = (ListView) findViewById(R.id.lv4);
|
||||||
|
|
||||||
|
if (users.isEmpty())
|
||||||
|
{
|
||||||
|
Toast.makeText(PersonalBasicInfoActivity.this,"发生未知错误,显示详细信息失败",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
User user = users.get(0);
|
||||||
|
TextViewUserName.setText(userName);
|
||||||
|
selUserId = user.getId();
|
||||||
|
selUserName = user.getName();
|
||||||
|
TextViewUserID.setText(Long.toString(user.getId()));
|
||||||
|
TextViewUserMajor.setText(user.getMajor());
|
||||||
|
TextViewUserCreditNotTaken_Humanity.setText(Integer.toString(user.getHumanity_class_NotTaken()));
|
||||||
|
TextViewUserCreditNotTaken_Political.setText(Integer.toString(user.getPolitical_class_NotTaken()));
|
||||||
|
TextViewUserCreditNotTaken_Nature.setText(Integer.toString(user.getNaturalScience_class_NotTaken()));
|
||||||
|
TextViewUserCreditNotTaken_Military.setText(Integer.toString(user.getMilitary_class_NotTaken()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ButtonDropCourse.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
CourseDelete();
|
||||||
|
dbFindAll();
|
||||||
|
TextViewUserSelectedCourse.setText("");
|
||||||
|
ButtonDropCourse.setEnabled(false);
|
||||||
|
Toast.makeText(PersonalBasicInfoActivity.this,"删除成功!",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||||
|
// @Override
|
||||||
|
// public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
// Map<String,Object> listItem = (Map<String,Object>)lv.getItemAtPosition(position);
|
||||||
|
// TextViewUserSelectedCourse.setText((String)listItem.get("cname"));
|
||||||
|
// List<Course> courses = DataSupport.where("name = ? and id = ?", userName, listItem.get("id").toString() ).find(Course.class);
|
||||||
|
// if(courses.isEmpty())
|
||||||
|
// {
|
||||||
|
// Toast.makeText(PersonalBasicInfoActivity.this,"can't find the course, some wrong happened",Toast.LENGTH_SHORT).show();
|
||||||
|
// }
|
||||||
|
// Course course = courses.get(0);
|
||||||
|
// selCourseId = course.getId();
|
||||||
|
// ButtonDropCourse.setEnabled(true);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
private void CourseDelete()
|
||||||
|
{
|
||||||
|
//TO DO
|
||||||
|
}
|
||||||
|
private void dbFindAll(){
|
||||||
|
data.clear();//防止重复添加,每次清空
|
||||||
|
List<User> users = DataSupport.where("id = ? and name = ?", Long.toString(selUserId), selUserName).find(User.class);
|
||||||
|
if (users.isEmpty())
|
||||||
|
{
|
||||||
|
Toast.makeText(PersonalBasicInfoActivity.this,"发生未知错误,显示详细信息失败",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
User user = users.get(0);
|
||||||
|
// ArrayList<User.courseIdentification> courses = user.getCourseAttend();
|
||||||
|
// int num = 1;
|
||||||
|
// for (User.courseIdentification course : courses)
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
List<Course> courses = user.getCourse_selected();
|
||||||
|
int num = 1;
|
||||||
|
for (Course course: courses)
|
||||||
|
{
|
||||||
|
int uid = course.getId();
|
||||||
|
String uclass = course.getClassFeature();
|
||||||
|
String uname = course.getName();
|
||||||
|
int ucredit = course.getCredit();
|
||||||
|
item = new HashMap<String, Object>();
|
||||||
|
item.put("id", num);
|
||||||
|
item.put("cid", uid);
|
||||||
|
item.put("cclass", uclass);
|
||||||
|
item.put("cname", uname);
|
||||||
|
item.put("ccredit", ucredit);
|
||||||
|
data.add(item);
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
showList();
|
||||||
|
}
|
||||||
|
|
||||||
|
//显示所有的记录
|
||||||
|
public void showList(){
|
||||||
|
listAdapter = new SimpleAdapter(this,data,
|
||||||
|
R.layout.sqlist,
|
||||||
|
new String[]{"id", "cid", "cclass", "cname", "ccredit"},
|
||||||
|
new int[]{R.id.textID1, R.id.textCID1, R.id.textCourseClass1, R.id.textCourseName1, R.id.textCredit1});
|
||||||
|
lv.setAdapter(listAdapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,108 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
|
import android.annotation.TargetApi;
|
||||||
|
import android.content.ContentUris;
|
||||||
|
import android.content.ContentValues;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.provider.DocumentsContract;
|
||||||
|
import android.provider.MediaStore;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.litepal.crud.DataSupport;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RegisterActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private EditText username;
|
||||||
|
private EditText pwd;
|
||||||
|
private EditText major;
|
||||||
|
private Button register;
|
||||||
|
private Button back;
|
||||||
|
private Button btn1, btn2;
|
||||||
|
private ImageView picture;
|
||||||
|
|
||||||
|
//实例化
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_register);
|
||||||
|
username = (EditText) findViewById(R.id.editText);
|
||||||
|
pwd = (EditText) findViewById(R.id.editText2);
|
||||||
|
major = (EditText) findViewById(R.id.editText4);
|
||||||
|
register = (Button) findViewById(R.id.button7);
|
||||||
|
back = (Button) findViewById(R.id.button8);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//返回监听
|
||||||
|
back.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
RegisterActivity.this.finish();
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.setClass(RegisterActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//创建连接
|
||||||
|
//打开数据库
|
||||||
|
|
||||||
|
//注册监听
|
||||||
|
register.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
List<User> Users = DataSupport.where("name = ?", username.getText().toString().trim()).find(User.class);
|
||||||
|
|
||||||
|
//如果可以注册
|
||||||
|
if(Users.isEmpty()){
|
||||||
|
User user = new User();
|
||||||
|
user.setName(username.getText().toString().trim());
|
||||||
|
user.setPwd(pwd.getText().toString().trim());
|
||||||
|
user.setMajor(major.getText().toString().trim());
|
||||||
|
user.setMilitary_class_NotTaken(4);
|
||||||
|
user.setHumanity_class_NotTaken(2);
|
||||||
|
user.setPolitical_class_NotTaken(3);
|
||||||
|
user.setNaturalScience_class_NotTaken(3);
|
||||||
|
if(user.save()){
|
||||||
|
Toast.makeText(RegisterActivity.this,"注册成功!",Toast.LENGTH_SHORT).show();
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.setClass(RegisterActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
RegisterActivity.this.finish();//退出之前注销该活动
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Toast.makeText(RegisterActivity.this,"发生未知错误,注册失败",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
Toast.makeText(RegisterActivity.this,"用户名已存在!",Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,180 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import org.litepal.crud.DataSupport;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class User extends DataSupport {
|
||||||
|
private long id;
|
||||||
|
private String name;
|
||||||
|
private String pwd;
|
||||||
|
private String major;
|
||||||
|
private List<Course> course_selected = new ArrayList<Course>();
|
||||||
|
private List<Course> completed_courses =new ArrayList<Course>();
|
||||||
|
private List<Comments> comments = new ArrayList<Comments>();
|
||||||
|
|
||||||
|
// private ArrayList<courseIdentification> courseAttend = new ArrayList<courseIdentification>();
|
||||||
|
// private ArrayList<courseIdentification> courseFinished = new ArrayList<courseIdentification>();
|
||||||
|
// private ArrayList<Integer> CommentsOF = new ArrayList<Integer>();
|
||||||
|
|
||||||
|
|
||||||
|
private int military_class_NotTaken;
|
||||||
|
private int humanity_class_NotTaken;
|
||||||
|
private int political_class_NotTaken;
|
||||||
|
private int naturalScience_class_NotTaken;
|
||||||
|
|
||||||
|
// public class courseIdentification{
|
||||||
|
// private int id;
|
||||||
|
// private String name;
|
||||||
|
// private String feature;
|
||||||
|
// private int credit;
|
||||||
|
//
|
||||||
|
// public int getCredit() {
|
||||||
|
// return credit;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getName() {
|
||||||
|
// return name;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public int getId() {
|
||||||
|
// return id;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getFeature() {
|
||||||
|
// return feature;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setFeature(String feature) {
|
||||||
|
// this.feature = feature;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setCredit(int credit) {
|
||||||
|
// this.credit = credit;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setName(String name) {
|
||||||
|
// this.name = name;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setId(int id) {
|
||||||
|
// this.id = id;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public ArrayList<courseIdentification> getCourseAttend() {
|
||||||
|
// return courseAttend;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public ArrayList<courseIdentification> getCourseFinished() {
|
||||||
|
// return courseFinished;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public ArrayList<Integer> getCommentsOF() {
|
||||||
|
// return CommentsOF;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setCommentsOF(ArrayList<Integer> commentsOF) {
|
||||||
|
// CommentsOF = commentsOF;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setCourseAttend(ArrayList<courseIdentification> courseAttend) {
|
||||||
|
// this.courseAttend = courseAttend;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public void setCourseFinished(ArrayList<courseIdentification> courseFinished) {
|
||||||
|
// this.courseFinished = courseFinished;
|
||||||
|
// }
|
||||||
|
|
||||||
|
public void setPwd(String pwd) {
|
||||||
|
this.pwd = pwd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMajor(String major) {
|
||||||
|
this.major = major;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComments(ArrayList<Comments> comments) {
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompleted_courses(ArrayList<Course> completed_courses) {
|
||||||
|
this.completed_courses = completed_courses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCourse_selected(ArrayList<Course> course_selected) {
|
||||||
|
this.course_selected = course_selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHumanity_class_NotTaken(int humanity_class_NotTaken) {
|
||||||
|
this.humanity_class_NotTaken = humanity_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMilitary_class_NotTaken(int military_class_NotTaken) {
|
||||||
|
this.military_class_NotTaken = military_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNaturalScience_class_NotTaken(int naturalScience_class_NotTaken) {
|
||||||
|
this.naturalScience_class_NotTaken = naturalScience_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPolitical_class_NotTaken(int political_class_NotTaken) {
|
||||||
|
this.political_class_NotTaken = political_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMajor() {
|
||||||
|
return major;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPwd() {
|
||||||
|
return pwd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<com.example.softengineering_selectivecourse.Comments> getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Course> getCompleted_courses() {
|
||||||
|
return completed_courses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Course> getCourse_selected() {
|
||||||
|
return course_selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHumanity_class_NotTaken() {
|
||||||
|
return humanity_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMilitary_class_NotTaken() {
|
||||||
|
return military_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNaturalScience_class_NotTaken() {
|
||||||
|
return naturalScience_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPolitical_class_NotTaken() {
|
||||||
|
return political_class_NotTaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:aapt="http://schemas.android.com/aapt"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||||
|
<aapt:attr name="android:fillColor">
|
||||||
|
<gradient
|
||||||
|
android:endX="85.84757"
|
||||||
|
android:endY="92.4963"
|
||||||
|
android:startX="42.9492"
|
||||||
|
android:startY="49.59793"
|
||||||
|
android:type="linear">
|
||||||
|
<item
|
||||||
|
android:color="#44000000"
|
||||||
|
android:offset="0.0" />
|
||||||
|
<item
|
||||||
|
android:color="#00000000"
|
||||||
|
android:offset="1.0" />
|
||||||
|
</gradient>
|
||||||
|
</aapt:attr>
|
||||||
|
</path>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFF"
|
||||||
|
android:fillType="nonZero"
|
||||||
|
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
|
||||||
|
android:strokeWidth="1"
|
||||||
|
android:strokeColor="#00000000" />
|
||||||
|
</vector>
|
@ -0,0 +1,170 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path
|
||||||
|
android:fillColor="#3DDC84"
|
||||||
|
android:pathData="M0,0h108v108h-108z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M9,0L9,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,0L19,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M29,0L29,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M39,0L39,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M49,0L49,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M59,0L59,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M69,0L69,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M79,0L79,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M89,0L89,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M99,0L99,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,9L108,9"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,19L108,19"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,29L108,29"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,39L108,39"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,49L108,49"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,59L108,59"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,69L108,69"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,79L108,79"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,89L108,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,99L108,99"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,29L89,29"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,39L89,39"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,49L89,49"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,59L89,59"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,69L89,69"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,79L89,79"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M29,19L29,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M39,19L39,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M49,19L49,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M59,19L59,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M69,19L69,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M79,19L79,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
</vector>
|
@ -0,0 +1,230 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.Course_ManagerActivity"
|
||||||
|
>
|
||||||
|
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/userManager"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="用户管理"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginTop="5dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseManagerTitle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:text="课 程 管 理"
|
||||||
|
android:textSize="25dp"
|
||||||
|
android:layout_marginTop="5dp"/>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editClass"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:inputType="textPersonName"
|
||||||
|
android:hint="请输入课程类别"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_below="@+id/couseManagerTitle"
|
||||||
|
android:layout_toRightOf="@+id/couseClass" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseClass"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBottom="@+id/editClass"
|
||||||
|
android:layout_marginBottom="9dp"
|
||||||
|
android:text="课程类别:"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课 程 名:"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/editClass"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp"/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseCredit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:text=" 学 分:"
|
||||||
|
android:layout_below="@+id/couseName"
|
||||||
|
android:layout_alignBaseline="@+id/editCredit"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp"/>
|
||||||
|
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/inputCouseName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程名"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="textPersonName"
|
||||||
|
android:layout_alignBottom="@+id/couseName"
|
||||||
|
android:layout_toRightOf="@+id/couseName" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editCredit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入学分"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="number"
|
||||||
|
android:layout_below="@+id/inputCouseName"
|
||||||
|
android:layout_toRightOf="@+id/courseCredit"
|
||||||
|
android:text="" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseTeacher"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:text=" 授课教师:"
|
||||||
|
android:layout_below="@+id/courseCredit"
|
||||||
|
android:layout_alignBaseline="@+id/editTeacher"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp"/>
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editTeacher"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入授课教师"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="text"
|
||||||
|
android:layout_below="@+id/editCredit"
|
||||||
|
android:layout_toRightOf="@+id/couseTeacher"
|
||||||
|
android:text="" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseStuNeeded"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:text=" 课程人数:"
|
||||||
|
android:layout_alignBaseline="@+id/editStuNeeded"
|
||||||
|
android:layout_below="@+id/couseTeacher"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp"/>
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editStuNeeded"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程人数"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="number"
|
||||||
|
android:layout_below="@+id/editTeacher"
|
||||||
|
android:layout_toRightOf="@+id/couseStuNeeded"
|
||||||
|
android:text="" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseClassRoom"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:text=" 授课教室:"
|
||||||
|
android:layout_alignBaseline="@+id/editClassRoom"
|
||||||
|
android:layout_below="@+id/couseStuNeeded"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp"/>
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editClassRoom"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入授课教室"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="number"
|
||||||
|
android:layout_below="@+id/editStuNeeded"
|
||||||
|
android:layout_toRightOf="@+id/couseStuNeeded"
|
||||||
|
android:text="" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseBriefIntroduce"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:text=" 简 介:"
|
||||||
|
android:layout_alignBaseline="@+id/editBriefIntroduce"
|
||||||
|
android:layout_below="@+id/couseClassRoom"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="20dp"/>
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editBriefIntroduce"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程简介(选填)"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="text"
|
||||||
|
android:layout_below="@+id/couseClassRoom"
|
||||||
|
android:layout_toRightOf="@+id/couseBriefIntroduce"
|
||||||
|
android:text=""
|
||||||
|
android:maxLines="2"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonQuery"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/editBriefIntroduce"
|
||||||
|
android:text="查看"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonAdd"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/editBriefIntroduce"
|
||||||
|
android:text="增加"
|
||||||
|
android:layout_toRightOf="@+id/buttonQuery" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonDelete"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="删除"
|
||||||
|
android:enabled="false"
|
||||||
|
android:layout_alignBaseline="@+id/buttonUpdate"
|
||||||
|
android:layout_alignBottom="@+id/buttonUpdate"
|
||||||
|
android:layout_toLeftOf="@+id/buttonUpdate" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonUpdate"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/editBriefIntroduce"
|
||||||
|
android:enabled="false"
|
||||||
|
android:text="修改"
|
||||||
|
android:layout_alignParentRight="true" />
|
||||||
|
|
||||||
|
<ListView
|
||||||
|
android:id="@+id/lv"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@+id/buttonQuery"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,231 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.CourseBasicInfoActivity"
|
||||||
|
>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseDetailInfo"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:text="课 程 详 细 信 息"
|
||||||
|
android:textSize="25dp"
|
||||||
|
android:layout_marginTop="5dp"/>
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseDetailClassLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginTop="60dp"
|
||||||
|
android:text="课程类别:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginLeft="20dp" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/couseDetailClassRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程类别"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/couseDetailClassLeft"
|
||||||
|
android:layout_alignBottom="@+id/couseDetailClassLeft"
|
||||||
|
android:layout_toRightOf="@+id/couseDetailClassLeft"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailNameLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课 程 名:"
|
||||||
|
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/couseDetailClassLeft"
|
||||||
|
android:layout_alignLeft="@+id/couseDetailClassLeft"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailNameRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程名"
|
||||||
|
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/courseDetailNameLeft"
|
||||||
|
android:layout_alignBottom="@+id/courseDetailNameLeft"
|
||||||
|
android:layout_toRightOf="@+id/courseDetailNameLeft"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailCreditLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text=" 学 分:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailNameLeft"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailNameLeft"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailCreditRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入学分"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/courseDetailCreditLeft"
|
||||||
|
android:layout_alignBottom="@+id/courseDetailCreditLeft"
|
||||||
|
android:layout_toRightOf="@+id/courseDetailCreditLeft" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailTeacherLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text=" 授课教师:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailCreditLeft"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailCreditLeft"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailTeacherRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入授课教师"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/courseDetailTeacherLeft"
|
||||||
|
android:layout_alignBottom="@+id/courseDetailTeacherLeft"
|
||||||
|
android:layout_toRightOf="@+id/courseDetailTeacherLeft"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailStuNeededLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text=" 课程人数:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailTeacherLeft"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailTeacherLeft"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailStuNeededRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程人数"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/courseDetailStuNeededLeft"
|
||||||
|
android:layout_alignBottom="@+id/courseDetailStuNeededLeft"
|
||||||
|
android:layout_toRightOf="@+id/courseDetailStuNeededLeft"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailClassRoomLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text=" 授课教室:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailStuNeededLeft"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailStuNeededLeft"/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailClassRoomRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入授课教室"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/courseDetailClassRoomLeft"
|
||||||
|
android:layout_alignBottom="@+id/courseDetailClassRoomLeft"
|
||||||
|
android:layout_toRightOf="@+id/courseDetailClassRoomLeft"/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text=" 简 介:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailClassRoomLeft"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailClassRoomLeft"/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/courseDetailBriefIntroduceRight"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入课程简介"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
android:layout_alignBottom="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
android:layout_toRightOf="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
android:maxLines="2"/>
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/courseDetailCommentInfo"
|
||||||
|
android:layout_width="300dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:hint="请输入评论"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/courseDetailComment"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="评论"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailBriefIntroduceLeft"
|
||||||
|
android:layout_alignParentRight="true"/>
|
||||||
|
<Button
|
||||||
|
android:id="@+id/courseDetailcommentDelete"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="删除评论"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailComment"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailClassRoomLeft"/>
|
||||||
|
<Button
|
||||||
|
android:id="@+id/courseDetailcommentUpdate"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="更新评论"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailComment"
|
||||||
|
android:layout_alignParentRight="true"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/courseDetailAdd"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text=" 选课"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_below="@+id/courseDetailcommentDelete"
|
||||||
|
android:layout_alignLeft="@+id/courseDetailClassRoomLeft"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<ListView
|
||||||
|
android:id="@+id/lvDetail"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@+id/courseDetailAdd"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,78 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.CourseRecommendedActivity"
|
||||||
|
>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textRecommendedWelcome0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:text="We calculate and select "
|
||||||
|
android:textSize="30dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textRecommendedWelcome1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/textRecommendedWelcome0"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:text="the following course for you"
|
||||||
|
android:textSize="30dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseRecommendedCliked"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="选定课程"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="150dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseRecommendedClikedCourse"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="courseName"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseRecommendedCliked"
|
||||||
|
android:layout_alignBottom="@id/textCourseRecommendedCliked"
|
||||||
|
android:layout_toRightOf="@id/textCourseRecommendedCliked"
|
||||||
|
android:layout_marginLeft="160dp"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonCourseRecommendedSelect"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="30dp"
|
||||||
|
android:text="选课"
|
||||||
|
android:layout_below="@+id/textCourseRecommendedCliked"
|
||||||
|
android:layout_alignLeft="@+id/textCourseRecommendedCliked"
|
||||||
|
android:layout_marginRight="16dp" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonCourseRecommendedQueryDetail"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程详情"
|
||||||
|
android:layout_alignBaseline="@+id/buttonCourseRecommendedSelect"
|
||||||
|
android:layout_alignBottom="@id/buttonCourseRecommendedSelect"
|
||||||
|
android:layout_toRightOf="@+id/buttonCourseRecommendedSelect"
|
||||||
|
android:layout_marginLeft="160dp" />
|
||||||
|
|
||||||
|
|
||||||
|
<ListView
|
||||||
|
android:id="@+id/lv5"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@+id/buttonCourseRecommendedSelect"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,186 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.CourseRecommendedActivity"
|
||||||
|
>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingWelcome0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:text="请根据关键词进行查询"
|
||||||
|
android:textSize="30dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingFeature"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程类型"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="100dp" />
|
||||||
|
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:entries="@array/classOrder"
|
||||||
|
android:id="@+id/spinnerCourseSelectingFeature"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseSelectingFeature"
|
||||||
|
android:layout_alignBottom="@id/textCourseSelectingFeature"
|
||||||
|
android:layout_toRightOf="@id/textCourseSelectingFeature"
|
||||||
|
android:layout_marginLeft="160dp"/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingCredit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程学分"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_below="@id/textCourseSelectingFeature"
|
||||||
|
android:layout_alignLeft="@+id/textCourseSelectingFeature"
|
||||||
|
android:layout_marginTop="10dp"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:entries="@array/classCredit"
|
||||||
|
android:id="@+id/spinnerCourseSelectingCredit"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseSelectingCredit"
|
||||||
|
android:layout_alignBottom="@id/textCourseSelectingCredit"
|
||||||
|
android:layout_toRightOf="@id/textCourseSelectingCredit"
|
||||||
|
android:layout_marginLeft="160dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingclassRoom"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程教学楼"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_below="@id/textCourseSelectingCredit"
|
||||||
|
android:layout_alignLeft="@+id/textCourseSelectingCredit"
|
||||||
|
android:layout_marginTop="10dp"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:entries="@array/classClassroom"
|
||||||
|
android:id="@+id/spinnerCourseSelectingClassRoom"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseSelectingclassRoom"
|
||||||
|
android:layout_alignBottom="@id/textCourseSelectingclassRoom"
|
||||||
|
android:layout_alignLeft="@+id/spinnerCourseSelectingCredit"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingTeacher"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程老师"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_below="@id/textCourseSelectingclassRoom"
|
||||||
|
android:layout_alignLeft="@+id/textCourseSelectingclassRoom"
|
||||||
|
android:layout_marginTop="10dp"/>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/EditCourseSelectingTeacher"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:hint="请输入"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseSelectingTeacher"
|
||||||
|
android:layout_alignBottom="@id/textCourseSelectingTeacher"
|
||||||
|
android:layout_toRightOf="@id/textCourseSelectingTeacher"
|
||||||
|
android:layout_marginLeft="160dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingItem"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="筛选选项"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_below="@id/textCourseSelectingTeacher"
|
||||||
|
android:layout_alignLeft="@+id/textCourseSelectingTeacher"
|
||||||
|
android:layout_marginTop="10dp"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:entries="@array/classSift"
|
||||||
|
android:id="@+id/spinnerCourseSelectingselItem"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseSelectingItem"
|
||||||
|
android:layout_alignBottom="@id/textCourseSelectingItem"
|
||||||
|
android:layout_alignLeft="@+id/spinnerCourseSelectingCredit"/>
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingCliked"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="选定课程"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="300dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseSelectingClikedCourse"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="courseName"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/textCourseSelectingCliked"
|
||||||
|
android:layout_alignBottom="@id/textCourseSelectingCliked"
|
||||||
|
android:layout_toRightOf="@id/textCourseSelectingCliked"
|
||||||
|
android:layout_marginLeft="160dp"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonCourseSelectSelect"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="30dp"
|
||||||
|
android:text="选课"
|
||||||
|
android:layout_below="@+id/textCourseSelectingCliked"
|
||||||
|
android:layout_alignLeft="@+id/textCourseSelectingCliked"
|
||||||
|
android:layout_marginRight="16dp" />
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonCourseSelectingSifting"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="查询"
|
||||||
|
android:layout_alignBaseline="@+id/buttonCourseSelectSelect"
|
||||||
|
android:layout_alignBottom="@id/buttonCourseSelectSelect"
|
||||||
|
android:layout_toRightOf="@+id/buttonCourseSelectSelect"
|
||||||
|
android:layout_marginLeft="30dp" />
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonCourseSelectingQueryDetail"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程详情"
|
||||||
|
android:layout_alignBaseline="@+id/buttonCourseSelectSelect"
|
||||||
|
android:layout_alignBottom="@id/buttonCourseSelectSelect"
|
||||||
|
android:layout_toRightOf="@+id/buttonCourseSelectSelect"
|
||||||
|
android:layout_marginLeft="160dp" />
|
||||||
|
|
||||||
|
|
||||||
|
<ListView
|
||||||
|
android:id="@+id/lv6"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@+id/buttonCourseSelectSelect"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,131 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.LoginActivity"
|
||||||
|
|
||||||
|
>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="45dp"
|
||||||
|
android:text="登 录 界 面"
|
||||||
|
android:textColor="#FF7300"
|
||||||
|
android:textSize="25dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:text="用户名:"
|
||||||
|
android:layout_alignBaseline="@+id/editText"
|
||||||
|
android:layout_alignBottom="@+id/editText"
|
||||||
|
android:layout_toStartOf="@+id/textView"
|
||||||
|
android:layout_marginEnd="11dp"
|
||||||
|
android:layout_toLeftOf="@+id/textView"
|
||||||
|
android:layout_marginRight="11dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView3"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:text="密码:"
|
||||||
|
android:layout_alignBaseline="@+id/editText2"
|
||||||
|
android:layout_alignBottom="@+id/editText2"
|
||||||
|
android:layout_alignStart="@+id/textView2"
|
||||||
|
android:layout_alignLeft="@+id/textView2" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/textView"
|
||||||
|
android:layout_marginStart="22dp"
|
||||||
|
android:layout_marginTop="46dp"
|
||||||
|
android:layout_toEndOf="@+id/textView2"
|
||||||
|
android:ems="10"
|
||||||
|
android:inputType="textPersonName"
|
||||||
|
android:hint="请输入用户名"
|
||||||
|
android:layout_marginLeft="22dp"
|
||||||
|
android:layout_toRightOf="@+id/textView2" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editText2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignStart="@+id/editText"
|
||||||
|
android:layout_below="@+id/editText"
|
||||||
|
android:layout_marginTop="23dp"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入密码"
|
||||||
|
android:inputType="textPassword"
|
||||||
|
android:layout_alignLeft="@+id/editText" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/button"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignStart="@+id/textView3"
|
||||||
|
android:layout_marginBottom="26dp"
|
||||||
|
android:text="确 定"
|
||||||
|
android:layout_alignLeft="@+id/textView3" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/button2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBottom="@+id/button"
|
||||||
|
android:layout_alignEnd="@+id/editText2"
|
||||||
|
android:text="退 出"
|
||||||
|
android:layout_alignRight="@+id/editText2" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView4"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="35dp"
|
||||||
|
android:text="点击我进行注册"
|
||||||
|
android:layout_above="@+id/button"
|
||||||
|
android:layout_centerHorizontal="true" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView6"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentStart="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:text="联系我们"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<CheckBox
|
||||||
|
android:id="@+id/saveName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="记住用户名密码"
|
||||||
|
android:layout_above="@+id/textView4"
|
||||||
|
android:layout_toEndOf="@+id/button"
|
||||||
|
android:layout_marginBottom="19dp"
|
||||||
|
android:layout_toRightOf="@+id/button" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView36"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="忘记密码?"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignRight="@+id/editText2" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,243 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.PersonalBasicInfoActivity"
|
||||||
|
|
||||||
|
>
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonBasicInfoRecommend"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程推荐"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
></Button>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonBasicInfoSelect"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程查询"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
></Button>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/welcomeUserName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="欢迎你"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicInfoName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="name"
|
||||||
|
android:textSize="40dp"
|
||||||
|
android:layout_below="@+id/welcomeUserName"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
></TextView>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="编号:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="120dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="id"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoID0"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoID0"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoID0" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoMajor0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="专业:"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoID0"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoID0"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoID0"
|
||||||
|
android:layout_marginLeft="180dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoMajor1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="major"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoID0"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoID0"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoMajor0" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoClass"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="类别:"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="160dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoMilitary"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="军事基础"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoClass"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoClass"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoClass"
|
||||||
|
android:layout_marginLeft="5dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoNature"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="自然科学"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoClass"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoClass"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoClass"
|
||||||
|
android:layout_marginLeft="75dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoPolitical"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="政治理论"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoClass"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoClass"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoClass"
|
||||||
|
android:layout_marginLeft="145dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfohumanity"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="人文科学"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoClass"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoClass"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoClass"
|
||||||
|
android:layout_marginLeft="215dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoNoTaken"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="待修:"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="180dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoMilitary1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="credit"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoNoTaken"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_marginLeft="5dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoNature1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="credit"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoNoTaken"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_marginLeft="75dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoPolitical1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="credit"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoNoTaken"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_marginLeft="145dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfohumanity1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="credit"
|
||||||
|
android:textSize="15dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoNoTaken"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoNoTaken"
|
||||||
|
android:layout_marginLeft="215dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoCliked"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="选定课程"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:layout_marginTop="210dp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textBasicINfoClikedCourse"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="courseName"
|
||||||
|
android:textSize="20dp"
|
||||||
|
android:layout_alignBaseline="@+id/textBasicINfoCliked"
|
||||||
|
android:layout_alignBottom="@id/textBasicINfoCliked"
|
||||||
|
android:layout_toRightOf="@id/textBasicINfoCliked"
|
||||||
|
android:layout_marginLeft="160dp" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonBasicInfoDrop"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="200dp"
|
||||||
|
android:text="退课"
|
||||||
|
android:layout_below="@+id/welcomeUserName"
|
||||||
|
android:layout_toLeftOf="@+id/welcomeUserName"
|
||||||
|
android:layout_marginRight="16dp" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/button18"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="刷新"
|
||||||
|
android:layout_alignBaseline="@+id/buttonBasicInfoDrop"
|
||||||
|
android:layout_alignBottom="@id/buttonBasicInfoDrop"
|
||||||
|
android:layout_toRightOf="@+id/welcomeUserName"
|
||||||
|
android:layout_marginLeft="36dp" />
|
||||||
|
|
||||||
|
<ListView
|
||||||
|
android:id="@+id/lv4"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@+id/buttonBasicInfoDrop"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView5"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="用 户 注 册"
|
||||||
|
android:textSize="24dp"
|
||||||
|
tools:layout_editor_absoluteX="162dp"
|
||||||
|
tools:layout_editor_absoluteY="143dp"
|
||||||
|
android:layout_marginTop="17dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/textView5"
|
||||||
|
android:layout_marginTop="46dp"
|
||||||
|
android:ems="10"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:hint="请输入用户名"
|
||||||
|
android:inputType="textPersonName" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editText2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignStart="@+id/editText"
|
||||||
|
android:layout_below="@+id/editText"
|
||||||
|
android:layout_marginTop="23dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入密码"
|
||||||
|
android:inputType="textPassword"
|
||||||
|
android:layout_alignLeft="@+id/editText" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editText4"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignEnd="@+id/editText2"
|
||||||
|
android:layout_below="@+id/editText2"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:hint="请输入专业"
|
||||||
|
android:gravity="center"
|
||||||
|
android:ems="10"
|
||||||
|
android:inputType="text"
|
||||||
|
android:layout_alignRight="@+id/editText2" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/button7"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentStart="true"
|
||||||
|
android:layout_marginBottom="18dp"
|
||||||
|
android:layout_marginStart="64dp"
|
||||||
|
android:text="注 册"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="64dp" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/button8"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBottom="@+id/button7"
|
||||||
|
android:layout_toEndOf="@+id/textView5"
|
||||||
|
android:text="返 回"
|
||||||
|
android:layout_toRightOf="@+id/textView5" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,127 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.example.softengineering_selectivecourse.User_ManagerActivity">
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUsertitle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:text="用 户 管 理"
|
||||||
|
android:textSize="25dp"
|
||||||
|
android:layout_marginTop="5dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="用户名:"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:layout_alignBaseline="@+id/editTextName"
|
||||||
|
android:layout_alignBottom="@+id/editTextName"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_marginLeft="27dp" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editTextName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:inputType="textPersonName"
|
||||||
|
android:text=""
|
||||||
|
android:hint="请输入用户名"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_below="@+id/textUsertitle"
|
||||||
|
android:layout_toRightOf="@+id/textUserName" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textPwd"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:text="密 码:"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:layout_below="@+id/editTextName"
|
||||||
|
android:layout_alignLeft="@+id/textUserName" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textMajor"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:text="专 业:"
|
||||||
|
android:layout_alignBaseline="@+id/editMajor"
|
||||||
|
android:layout_alignBottom="@+id/editMajor"
|
||||||
|
android:layout_alignLeft="@+id/textUserName" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editMajor"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:hint="请输入专业"
|
||||||
|
android:gravity="center"
|
||||||
|
android:inputType="text"
|
||||||
|
android:text=""
|
||||||
|
android:layout_below="@+id/editPwd"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:layout_alignLeft="@+id/editTextName" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/editPwd"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ems="10"
|
||||||
|
android:inputType="textPassword"
|
||||||
|
android:hint="请输入密码"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_below="@+id/editTextName"
|
||||||
|
android:layout_alignLeft="@+id/editTextName" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonUserQuery"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="查询"
|
||||||
|
android:layout_below="@+id/editMajor"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonUserAdd"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="增加"
|
||||||
|
android:layout_below="@+id/editMajor"
|
||||||
|
android:layout_toRightOf="@+id/buttonUserQuery" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonUSerDelete"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="删除"
|
||||||
|
android:enabled="false"
|
||||||
|
android:layout_below="@+id/editMajor"
|
||||||
|
android:layout_toLeftOf="@+id/buttonUSerUpdate" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonUSerUpdate"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignTop="@+id/buttonUSerDelete"
|
||||||
|
android:enabled="false"
|
||||||
|
android:text="修改"
|
||||||
|
android:layout_alignParentRight="true" />
|
||||||
|
|
||||||
|
<ListView
|
||||||
|
android:id="@+id/lv2"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@+id/buttonUserQuery"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="序号"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentCID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="ID"
|
||||||
|
android:layout_alignBaseline="@+id/textCommentID1"
|
||||||
|
android:layout_alignBottom="@+id/textCommentID1"
|
||||||
|
android:layout_alignLeft="@+id/textCommentCID0"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentInfo1"
|
||||||
|
android:layout_width="250dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="评论"
|
||||||
|
android:layout_alignBaseline="@+id/textCommentID1"
|
||||||
|
android:layout_alignBottom="@+id/textCommentID1"
|
||||||
|
android:layout_alignLeft="@+id/textCommentInfo0"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentProvider1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="评论者"
|
||||||
|
android:layout_alignBaseline="@+id/textCommentID1"
|
||||||
|
android:layout_alignBottom="@+id/textCommentID1"
|
||||||
|
android:layout_alignLeft="@+id/textCommentProvider0"></TextView>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommnentID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:text="序号"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentCID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textCommnentID0"
|
||||||
|
android:layout_alignBottom="@+id/textCommnentID0"
|
||||||
|
android:text="ID"
|
||||||
|
android:layout_toRightOf="@+id/textCommnentID0"
|
||||||
|
android:layout_marginLeft="5dp"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentInfo0"
|
||||||
|
android:layout_width="250dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textCommnentID0"
|
||||||
|
android:layout_alignBottom="@+id/textCommnentID0"
|
||||||
|
android:text="评论"
|
||||||
|
android:layout_toRightOf="@+id/textCommentCID0"
|
||||||
|
android:layout_marginLeft="5dp"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCommentProvider0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="评论者"
|
||||||
|
android:layout_alignBaseline="@+id/textCommnentID0"
|
||||||
|
android:layout_alignBottom="@+id/textCommnentID0"
|
||||||
|
android:layout_toRightOf="@+id/textCommentInfo0"
|
||||||
|
android:layout_marginLeft="10dp"></TextView>
|
||||||
|
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,102 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="序号"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程编号"
|
||||||
|
android:layout_alignBaseline="@+id/textID1"
|
||||||
|
android:layout_alignBottom="@+id/textID1"
|
||||||
|
android:layout_alignLeft="@+id/textCID0"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseClass1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程类别"
|
||||||
|
android:layout_alignBaseline="@+id/textID1"
|
||||||
|
android:layout_alignBottom="@+id/textID1"
|
||||||
|
android:layout_alignLeft="@+id/textCourseClass0"></TextView>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseName1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程名称"
|
||||||
|
android:layout_alignBaseline="@+id/textID1"
|
||||||
|
android:layout_alignBottom="@+id/textID1"
|
||||||
|
android:layout_alignLeft="@+id/textCourseName0" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCredit1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="学分"
|
||||||
|
android:layout_alignBaseline="@+id/textID1"
|
||||||
|
android:layout_alignBottom="@+id/textID1"
|
||||||
|
android:layout_alignLeft="@+id/textCredit0"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:text="序号"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textID0"
|
||||||
|
android:layout_alignBottom="@+id/textID0"
|
||||||
|
android:text="课程编号"
|
||||||
|
android:layout_toRightOf="@+id/textID0"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseClass0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="课程类别"
|
||||||
|
android:layout_alignBaseline="@+id/textID0"
|
||||||
|
android:layout_alignBottom="@+id/textID0"
|
||||||
|
android:layout_toRightOf="@+id/textCID0"
|
||||||
|
android:layout_marginLeft="40dp"></TextView>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCourseName0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textID0"
|
||||||
|
android:layout_alignBottom="@+id/textID0"
|
||||||
|
android:layout_toRightOf="@+id/textCourseClass0"
|
||||||
|
android:text="课程名称"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textCredit0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textID0"
|
||||||
|
android:layout_alignBottom="@+id/textID0"
|
||||||
|
android:layout_toRightOf="@+id/textCourseName0"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
android:text="学分" />
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,102 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="序号"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserCID1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="ID"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID1"
|
||||||
|
android:layout_alignBottom="@+id/textUserID1"
|
||||||
|
android:layout_alignLeft="@+id/textUserCID0"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserNamelist1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="用户名"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID1"
|
||||||
|
android:layout_alignBottom="@+id/textUserID1"
|
||||||
|
android:layout_alignLeft="@+id/textUserNamelist0"></TextView>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserKeylist1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="密码"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID1"
|
||||||
|
android:layout_alignBottom="@+id/textUserID1"
|
||||||
|
android:layout_alignLeft="@+id/textUserKeylist0" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserMajor1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="专业"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID1"
|
||||||
|
android:layout_alignBottom="@+id/textUserID1"
|
||||||
|
android:layout_alignLeft="@+id/textUserMajor0"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:text="序号"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserCID0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID0"
|
||||||
|
android:layout_alignBottom="@+id/textUserID0"
|
||||||
|
android:text="ID"
|
||||||
|
android:layout_toRightOf="@+id/textUserID0"
|
||||||
|
android:layout_marginLeft="40dp"
|
||||||
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserNamelist0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="用户名"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID0"
|
||||||
|
android:layout_alignBottom="@+id/textUserID0"
|
||||||
|
android:layout_toRightOf="@+id/textUserCID0"
|
||||||
|
android:layout_marginLeft="40dp"></TextView>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserKeylist0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID0"
|
||||||
|
android:layout_alignBottom="@+id/textUserID0"
|
||||||
|
android:layout_toRightOf="@+id/textUserNamelist0"
|
||||||
|
android:text="密码"
|
||||||
|
android:layout_marginLeft="50dp"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textUserMajor0"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignBaseline="@+id/textUserID0"
|
||||||
|
android:layout_alignBottom="@+id/textUserID0"
|
||||||
|
android:layout_toRightOf="@+id/textUserKeylist0"
|
||||||
|
android:layout_marginLeft="70dp"
|
||||||
|
android:text="专业" />
|
||||||
|
</RelativeLayout>
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
</adaptive-icon>
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
</adaptive-icon>
|
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="colorPrimary">#6200EE</color>
|
||||||
|
<color name="colorPrimaryDark">#3700B3</color>
|
||||||
|
<color name="colorAccent">#03DAC5</color>
|
||||||
|
</resources>
|
@ -0,0 +1,5 @@
|
|||||||
|
<resources>
|
||||||
|
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||||
|
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||||
|
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||||
|
</resources>
|
@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string-array name="classOrder">
|
||||||
|
<item>请选取</item>
|
||||||
|
<item>Military</item>
|
||||||
|
<item>Nature</item>
|
||||||
|
<item>Humanity</item>
|
||||||
|
<item>Political</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="classCredit">
|
||||||
|
<item>请选取</item>
|
||||||
|
<item>1</item>
|
||||||
|
<item>2</item>
|
||||||
|
<item>3</item>
|
||||||
|
<item>4</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="classClassroom">
|
||||||
|
<item>请选取</item>
|
||||||
|
<item>301</item>
|
||||||
|
<item>302</item>
|
||||||
|
<item>303</item>
|
||||||
|
<item>304</item>
|
||||||
|
<item>305</item>
|
||||||
|
<item>306</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="classSift">
|
||||||
|
<item>classFeature</item>
|
||||||
|
<item>credit</item>
|
||||||
|
<item>classroom</item>
|
||||||
|
<item>teacher</item>
|
||||||
|
</string-array>
|
||||||
|
</resources>
|
@ -0,0 +1,12 @@
|
|||||||
|
<resources>
|
||||||
|
<string name="app_name">SoftEngineering_selectiveCourse</string>
|
||||||
|
<string name="title_activity_login">LoginActivity</string>
|
||||||
|
<string name="prompt_email">Email</string>
|
||||||
|
<string name="prompt_password">Password</string>
|
||||||
|
<string name="action_sign_in">Sign in or register</string>
|
||||||
|
<string name="action_sign_in_short">Sign in</string>
|
||||||
|
<string name="welcome">"Welcome !"</string>
|
||||||
|
<string name="invalid_username">Not a valid username</string>
|
||||||
|
<string name="invalid_password">Password must be >5 characters</string>
|
||||||
|
<string name="login_failed">"Login failed"</string>
|
||||||
|
</resources>
|
@ -0,0 +1,10 @@
|
|||||||
|
<resources>
|
||||||
|
<!-- Base application theme. -->
|
||||||
|
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
|
<!-- Customize your theme here. -->
|
||||||
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</resources>
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.example.softengineering_selectivecourse;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Example local unit test, which will execute on the development machine (host).
|
||||||
|
*
|
||||||
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
|
*/
|
||||||
|
public class ExampleUnitTest {
|
||||||
|
@Test
|
||||||
|
public void addition_isCorrect() {
|
||||||
|
assertEquals(4, 2 + 2);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath "com.android.tools.build:gradle:4.0.1"
|
||||||
|
|
||||||
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
// in the individual module build.gradle files
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task clean(type: Delete) {
|
||||||
|
delete rootProject.buildDir
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
# Project-wide Gradle settings.
|
||||||
|
# IDE (e.g. Android Studio) users:
|
||||||
|
# Gradle settings configured through the IDE *will override*
|
||||||
|
# any settings specified in this file.
|
||||||
|
# For more details on how to configure your build environment visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||||
|
# Specifies the JVM arguments used for the daemon process.
|
||||||
|
# The setting is particularly useful for tweaking memory settings.
|
||||||
|
org.gradle.jvmargs=-Xmx2048m
|
||||||
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
|
# org.gradle.parallel=true
|
||||||
|
# AndroidX package structure to make it clearer which packages are bundled with the
|
||||||
|
# Android operating system, and which are packaged with your app"s APK
|
||||||
|
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
||||||
|
android.useAndroidX=true
|
||||||
|
# Automatically convert third-party libraries to use AndroidX
|
||||||
|
android.enableJetifier=true
|
@ -0,0 +1,6 @@
|
|||||||
|
#Sun Feb 14 11:27:02 CST 2021
|
||||||
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionPath=wrapper/dists
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
|
@ -0,0 +1,172 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
##
|
||||||
|
## Gradle start up script for UN*X
|
||||||
|
##
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
# Attempt to set APP_HOME
|
||||||
|
# Resolve links: $0 may be a link
|
||||||
|
PRG="$0"
|
||||||
|
# Need this for relative symlinks.
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`"/$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
SAVED="`pwd`"
|
||||||
|
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||||
|
APP_HOME="`pwd -P`"
|
||||||
|
cd "$SAVED" >/dev/null
|
||||||
|
|
||||||
|
APP_NAME="Gradle"
|
||||||
|
APP_BASE_NAME=`basename "$0"`
|
||||||
|
|
||||||
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
DEFAULT_JVM_OPTS=""
|
||||||
|
|
||||||
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
|
MAX_FD="maximum"
|
||||||
|
|
||||||
|
warn () {
|
||||||
|
echo "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
die () {
|
||||||
|
echo
|
||||||
|
echo "$*"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# OS specific support (must be 'true' or 'false').
|
||||||
|
cygwin=false
|
||||||
|
msys=false
|
||||||
|
darwin=false
|
||||||
|
nonstop=false
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN* )
|
||||||
|
cygwin=true
|
||||||
|
;;
|
||||||
|
Darwin* )
|
||||||
|
darwin=true
|
||||||
|
;;
|
||||||
|
MINGW* )
|
||||||
|
msys=true
|
||||||
|
;;
|
||||||
|
NONSTOP* )
|
||||||
|
nonstop=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
# Determine the Java command to use to start the JVM.
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
|
else
|
||||||
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
|
fi
|
||||||
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JAVACMD="java"
|
||||||
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Increase the maximum file descriptors if we can.
|
||||||
|
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||||
|
MAX_FD_LIMIT=`ulimit -H -n`
|
||||||
|
if [ $? -eq 0 ] ; then
|
||||||
|
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||||
|
MAX_FD="$MAX_FD_LIMIT"
|
||||||
|
fi
|
||||||
|
ulimit -n $MAX_FD
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Darwin, add options to specify how the application appears in the dock
|
||||||
|
if $darwin; then
|
||||||
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin ; then
|
||||||
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||||
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||||
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||||
|
|
||||||
|
# We build the pattern for arguments to be converted via cygpath
|
||||||
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||||
|
SEP=""
|
||||||
|
for dir in $ROOTDIRSRAW ; do
|
||||||
|
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||||
|
SEP="|"
|
||||||
|
done
|
||||||
|
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||||
|
# Add a user-defined pattern to the cygpath arguments
|
||||||
|
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||||
|
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||||
|
fi
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
i=0
|
||||||
|
for arg in "$@" ; do
|
||||||
|
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||||
|
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||||
|
|
||||||
|
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||||
|
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||||
|
else
|
||||||
|
eval `echo args$i`="\"$arg\""
|
||||||
|
fi
|
||||||
|
i=$((i+1))
|
||||||
|
done
|
||||||
|
case $i in
|
||||||
|
(0) set -- ;;
|
||||||
|
(1) set -- "$args0" ;;
|
||||||
|
(2) set -- "$args0" "$args1" ;;
|
||||||
|
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||||
|
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||||
|
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||||
|
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||||
|
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||||
|
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||||
|
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Escape application args
|
||||||
|
save () {
|
||||||
|
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||||
|
echo " "
|
||||||
|
}
|
||||||
|
APP_ARGS=$(save "$@")
|
||||||
|
|
||||||
|
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||||
|
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||||
|
|
||||||
|
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||||
|
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$JAVACMD" "$@"
|
@ -0,0 +1,84 @@
|
|||||||
|
@if "%DEBUG%" == "" @echo off
|
||||||
|
@rem ##########################################################################
|
||||||
|
@rem
|
||||||
|
@rem Gradle startup script for Windows
|
||||||
|
@rem
|
||||||
|
@rem ##########################################################################
|
||||||
|
|
||||||
|
@rem Set local scope for the variables with windows NT shell
|
||||||
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
|
set DIRNAME=%~dp0
|
||||||
|
if "%DIRNAME%" == "" set DIRNAME=.
|
||||||
|
set APP_BASE_NAME=%~n0
|
||||||
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
set DEFAULT_JVM_OPTS=
|
||||||
|
|
||||||
|
@rem Find java.exe
|
||||||
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
||||||
|
set JAVA_EXE=java.exe
|
||||||
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
|
if "%ERRORLEVEL%" == "0" goto init
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:findJavaFromJavaHome
|
||||||
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
|
if exist "%JAVA_EXE%" goto init
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:init
|
||||||
|
@rem Get command-line arguments, handling Windows variants
|
||||||
|
|
||||||
|
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||||
|
|
||||||
|
:win9xME_args
|
||||||
|
@rem Slurp the command line arguments.
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
set _SKIP=2
|
||||||
|
|
||||||
|
:win9xME_args_slurp
|
||||||
|
if "x%~1" == "x" goto execute
|
||||||
|
|
||||||
|
set CMD_LINE_ARGS=%*
|
||||||
|
|
||||||
|
:execute
|
||||||
|
@rem Setup the command line
|
||||||
|
|
||||||
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
@rem Execute Gradle
|
||||||
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
||||||
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||||
|
|
||||||
|
:fail
|
||||||
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
|
rem the _cmd.exe /c_ return code!
|
||||||
|
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||||
|
exit /b 1
|
||||||
|
|
||||||
|
:mainEnd
|
||||||
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|
||||||
|
:omega
|
@ -0,0 +1,2 @@
|
|||||||
|
include ':app'
|
||||||
|
rootProject.name = "SoftEngineering_selectiveCourse"
|