@ -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"
|