diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 646b3475..00000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore index b1072166..13b933b0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,12 @@ .settings out cmake-build-debug -.idea/ \ No newline at end of file +.idea/ +lib_android/ +lib_flutter/ +lib_ios/ +lib_web/ +.idea/ +.settings/ +.DS_Store +android/XPlay/app/.cxx/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..58fdd470 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "repo"] + path = repo + url = git@github.com:AdrianAndroid/repo.git +[submodule "AndroidProject"] + path = AndroidProject + url = git@github.com:AdrianAndroid/AndroidProject.git diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 6048b258..00000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index c79a153c..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7f..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.project b/.project deleted file mode 100644 index e5c087e3..00000000 --- a/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - AndroidHelper - Project AndroidHelper created by Buildship. - - - - - org.eclipse.buildship.core.gradleprojectbuilder - - - - - - org.eclipse.buildship.core.gradleprojectnature - - - - 1605245270438 - - 30 - - org.eclipse.core.resources.regexFilterMatcher - node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ - - - - diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 98515123..00000000 --- a/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,13 +0,0 @@ -arguments= -auto.sync=false -build.scans.enabled=false -connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) -connection.project.dir= -eclipse.preferences.version=1 -gradle.user.home= -java.home=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home -jvm.arguments= -offline.mode=false -override.workspace.settings=true -show.console.view=true -show.executions.view=true diff --git a/AndroidProject b/AndroidProject new file mode 160000 index 00000000..29997cc2 --- /dev/null +++ b/AndroidProject @@ -0,0 +1 @@ +Subproject commit 29997cc2da6aedf247dc9b69858073185d3f7d9f diff --git a/README.md b/README.md new file mode 100644 index 00000000..ac4d818e --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# AndroidHelper +AndroidHelper diff --git a/android/.DS_Store b/android/.DS_Store deleted file mode 100644 index d8c28fae..00000000 Binary files a/android/.DS_Store and /dev/null differ diff --git a/android/AndroidProject/.gitignore b/android/AndroidProject/.gitignore deleted file mode 100644 index 154693f3..00000000 --- a/android/AndroidProject/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -*.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 -local.properties -.gradle -.idea -gradle -gradle/wrapper \ No newline at end of file diff --git a/android/AndroidProject/app/.gitignore b/android/AndroidProject/app/.gitignore deleted file mode 100644 index 42afabfd..00000000 --- a/android/AndroidProject/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/android/AndroidProject/app/build.gradle b/android/AndroidProject/app/build.gradle deleted file mode 100644 index ef8c5b75..00000000 --- a/android/AndroidProject/app/build.gradle +++ /dev/null @@ -1,57 +0,0 @@ -plugins { - id 'com.android.application' - id 'kotlin-android' - id 'kotlin-android-extensions' - id 'kotlin-kapt' -} - -android { - compileSdk 31 - - defaultConfig { - applicationId "com.joyy.androidproject" - minSdk 21 - targetSdk 31 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - kapt { - arguments { - arg("root_project_dir", rootProject.projectDir.absolutePath) - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = '1.8' - } -} - -dependencies { - -// implementation 'org.apache.commons:commons-text:1.6' - implementation 'androidx.core:core-ktx:1.6.0' - implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'com.google.android.material:material:1.4.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' - testImplementation 'junit:junit:4.+' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' - - implementation project(path: ':router-annotations') - kapt project(':router-processor') - - implementation project(path: ':stringescape') - implementation project(path: ':webviews') -} \ No newline at end of file diff --git a/android/AndroidProject/app/proguard-rules.pro b/android/AndroidProject/app/proguard-rules.pro deleted file mode 100644 index 481bb434..00000000 --- a/android/AndroidProject/app/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# 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 \ No newline at end of file diff --git a/android/AndroidProject/app/src/androidTest/java/com/joyy/androidproject/ExampleInstrumentedTest.kt b/android/AndroidProject/app/src/androidTest/java/com/joyy/androidproject/ExampleInstrumentedTest.kt deleted file mode 100644 index ab186a00..00000000 --- a/android/AndroidProject/app/src/androidTest/java/com/joyy/androidproject/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.joyy.androidproject - -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.ext.junit.runners.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.joyy.androidproject", appContext.packageName) - } -} \ No newline at end of file diff --git a/android/AndroidProject/app/src/main/AndroidManifest.xml b/android/AndroidProject/app/src/main/AndroidManifest.xml deleted file mode 100644 index b35d238e..00000000 --- a/android/AndroidProject/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/AndroidProject/app/src/main/java/com/joyy/androidproject/MainActivity.kt b/android/AndroidProject/app/src/main/java/com/joyy/androidproject/MainActivity.kt deleted file mode 100644 index e9378d99..00000000 --- a/android/AndroidProject/app/src/main/java/com/joyy/androidproject/MainActivity.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.joyy.androidproject - -import android.content.Intent -import android.os.Bundle -import android.view.View -import android.widget.TextView -import androidx.appcompat.app.AppCompatActivity -import com.joyy.stringescape.StringEscapeUtils -import com.joyy.webviews.WebViewActivity -import kotlinx.android.synthetic.main.activity_main.* - -class MainActivity : AppCompatActivity() { - - val url = - "

FIFTY-SIXTY CURRENT AFFAIRS TEST SERIES -2021




\tஇந்திய குடிமைப் பணித் தேர்வில் எனப்படும் தற்கால நிகழ்வுகள் இந்திய மற்றும் சர்வதேச அளவில் முக்கியத்துவம் வாய்ந்த செய்திகள் வினாக்களாக கேட்கப்படுகின்றன இவற்றில் வரலாறு புவியியல் பொருளாதாரம் சுற்றுப்புறச் சூழல் அறிவியல் மற்றும் தொழில்நுட்பம் புவியியல் சம்பந்தப்பட்ட வினாக்கள் கேட்கப்படுகின்றன இந்த தற்கால நிகழ்வுகளுக்கான வினாக்கள் அதிகாரபூர்வமான செய்திகளிலிருந்து பெறப்படுகின்றன இதனடிப்படையில் இந்த தற்கால நிகழ்வுகளுக்கான மாதிரி வினா தேர்வு வினாத் தேர்வு தொடர் அமைக்கப்பட்டுள்ளது இந்த வினா தேர்வு தொடரில் இந்தியா இயர் புக், வேலைவாய்ப்பு செய்திகள், பொருளாதார மதிப்பீடு, அரசாங்க அமைச்சரவைகளின் அதிகாரபூர்வமான ஆண்டு மலர், இந்தியா பத்திரிகை செய்தித் தொடர்புகளின் செய்தி தொகுப்பு ,யோஜனா, குருஷேத்ரா அகில இந்திய வானொலி செய்தி தொகுப்பு, இந்திய அரசாங்கத்தின் வலைத்தளம் மற்றும் இன்ன பிற அதிகாரப்பூர்வ வெளியீடுகளிலிருந்து வினாக்கள் தொகுக்கப்பட்டுள்ளன. அனைத்து வினாக்களும் அரசாங்க அதிகாரப்பூர்வ வெளியீடுகளில் இருந்து பெறப்பட்டவை இவற்றைப் பற்றிய புரிதல் மாணாக்கர்களுக்கு அதிகமாகின்றன. அனைத்து வினாக்களும் விடைகளும் அதற்கான தெளிவான விளக்கங்களும் மின்னணு முறையில் பதிவிறக்கம் செய்து கொள்ளலாம்.இவற்றின் மூலம் மாணாக்கர்களுக்கு தெரியாத வினாக்களுக்கான விடைகளை மாணவர்கள் தெரிந்து கொள்ளலாம் .




ஒரு மதிப்பெண் கூட மாணவரின் வெற்றி தோல்வியை தீர்மானிப்பதாக அமைந்துள்ளது, நேரம் மேம்பாடு நேர மேலாண்மை மற்றும் கருதுகோள் விடைகளை சரியான முறையில் தேர்ந்தெடுக்கும் வகையில் பயிற்சி படுத்தப்படுகிறார்கள். தற்காலத்திய நிகழ்வுகள் பற்றிய அறிதல் மற்றும் புரிதல் மேம்படுகிறது இந்த தேர்வு தொடரில் பயிற்சி மேற்கொள்ளும் பொழுது அதிக மதிப்பெண் பெறுவதற்கான சாத்தியக்கூறுகள் உள்ளன.




இந்தத் தேர்வு தொடரில் தற்போதைய நிலையில் 7 தேர்வுகள் உள்ளன ஒவ்வொரு தேர்விற்கும் 50 வினாக்கள் கொடுக்கப்பட்டுள்ளன. தேர்வுக்கான நேரம் 60 நிமிடங்கள்.எதிர்வரும் காலங்களில் இன்னும் மூன்று தேர்வுகள் இதில் சேர்க்கப்பட உள்ளன. எனவே மொத்தத்தில் 10 தேர்வுகள் கொண்ட ஒரு முழு தொடர் இது.




தேர்வுத் தொடர் சம்பந்தமான ஏதேனும் சந்தேகங்கள் இருப்பின் எங்களது வாட்ஸ்அப் மற்றும் டெலிகிராம் 8939290339 எண்ணுக்கு குறுஞ்செய்தி அனுப்பி தெரிந்து கொள்ளலாம்.




விருப்பமுள்ள மாணவர்கள் இணைந்து பயன் பெறலாம்


" - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - - findViewById(R.id.webview).setOnClickListener { - startActivity(Intent(this, WebViewActivity::class.java)) - } - - - // 1. 先打印字符串测试 - // 2。抽离StringEscapeUtils代码 - // 3。 WebView写JS - // 4。 - findViewById(R.id.textview).text = StringEscapeUtils.escapeJava(url) - } -} \ No newline at end of file diff --git a/android/AndroidProject/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/AndroidProject/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 2b068d11..00000000 --- a/android/AndroidProject/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/android/AndroidProject/app/src/main/res/drawable/ic_launcher_background.xml b/android/AndroidProject/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 07d5da9c..00000000 --- a/android/AndroidProject/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/android/AndroidProject/app/src/main/res/layout/activity_main.xml b/android/AndroidProject/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index 8ce4312d..00000000 --- a/android/AndroidProject/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/Command.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/Command.kt deleted file mode 100644 index 41cf8533..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/Command.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.joyy.webviews - -import com.joyy.webviews.api.IWebJS - -/** - * Time:2021/8/23 11:32 - * Author: flannery - * Description: - */ -class Command(val name: String, val invokeMethod: IWebJS) \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/JSInterface.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/JSInterface.kt deleted file mode 100644 index 78ecb1d3..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/JSInterface.kt +++ /dev/null @@ -1,109 +0,0 @@ -package com.joyy.webviews - -import android.annotation.SuppressLint -import android.webkit.JavascriptInterface -import android.webkit.WebChromeClient -import android.webkit.WebSettings -import android.webkit.WebView -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.OnLifecycleEvent -import com.joyy.webviews.api.IWeb -import com.joyy.webviews.api.IWebCallBack -import com.joyy.webviews.api.IWebJS -import com.joyy.webviews.default.DefaultWebChromeClient -import com.joyy.webviews.default.DefaultWebViewClient -import com.joyy.webviews.default.WebCallBackImpl -import com.joyy.webviews.utils.JSHelper -import java.lang.IllegalArgumentException - -/** - * Time:2021/8/23 11:38 - * Author: flannery - * Description: 跟WebView交互 - */ -@SuppressLint("SetJavaScriptEnabled") -class JSInterface(val webView: WebView) : WebCallBackImpl(), - IWebJS, - IWeb { - - //IWebJS//////////////////////// - // 与JS交互的方法 - private val hashMap = hashMapOf() // 存放与JS交互的方法 - - init { - create() - } - - private fun initWebSsettings() { - val s = webView.settings - s.javaScriptEnabled = true - s.setRenderPriority(WebSettings.RenderPriority.HIGH) // 提高渲染的优先级 - // 隐藏缩放 - s.builtInZoomControls = false - // 打开缩放 - // s.setSupportZoom(true) - // s.builtInZoomControls = true - // s.displayZoomControls = false - // 支持ivePorys设置 - s.useWideViewPort = false - // 把图片加载放在最后来加载渲染 - s.blockNetworkImage = false - // Http和Https混合,允许从任何来源来加载内容,即使起源是不安全的 - s.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW - // 缓存相关 - s.cacheMode = WebSettings.LOAD_DEFAULT - s.domStorageEnabled = true - s.setAppCacheEnabled(true) - } - - - // 唯一的跟WebView交互 - @JavascriptInterface - override fun invoke(name: String?, params: String?, cbName: String?): String? { - JSHelper.log(">>>${Thread.currentThread().name} $name $params $cbName <<<") - return hashMap[name]?.invokeMethod?.invoke(name, params, cbName) - } - - - //IWeb///////////////////////// - override fun loadUrl(url: String, force: Boolean) { - if (force || webView.url != url) { - if (url.startsWith("http") || url.startsWith("file")) { - webView.settings.blockNetworkImage = true - } - webView.loadUrl(url) - } - } - - override fun create() { - webView.webViewClient = DefaultWebViewClient(this) - webView.webChromeClient = DefaultWebChromeClient(this) - - // 可以设置DEBUG - if (BuildConfig.DEBUG) WebView.setWebContentsDebuggingEnabled(true) - initWebSsettings() - - // 注入JS - webView.addJavascriptInterface(this, "app") - } - - override fun resume() { - } - - override fun destroy() { - } - - override fun refresh() { - } - - override fun addCommand(command: Command) { - if (command.name.isBlank()) throw IllegalArgumentException("name不能为空!!") - hashMap[command.name] = command - } - - override fun removeCommand(command: Command) { - hashMap.remove(command.name) - } - - -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/WebJs.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/WebJs.kt deleted file mode 100644 index 2a2377c0..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/WebJs.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.joyy.webviews - -import com.joyy.webviews.api.IWebJS - -/** - * Time:2021/8/23 09:51 - * Author: flannery - * Description: - */ -class WebJs : IWebJS { - - - - - override fun invoke(name: String?, params: String?, cbName: String?): String? { - return "" - } -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/WebViewActivity.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/WebViewActivity.kt deleted file mode 100644 index 0887907c..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/WebViewActivity.kt +++ /dev/null @@ -1,105 +0,0 @@ -package com.joyy.webviews - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.View -import android.webkit.WebView -import android.widget.Toast -import androidx.appcompat.app.AppCompatActivity -import com.imooc.router.annotations.Destination -import com.joyy.webviews.api.IWebJS -import kotlinx.android.synthetic.main.activity_web_view.* - -@Destination( - url = "module/webviews", - description = "webviews" -) -class WebViewActivity : AppCompatActivity() { - -// private val webAppInterface = WebAppInterface(this) - - - @SuppressLint("SetJavaScriptEnabled") - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_web_view) - -// mWebView.loadUrl("https://www.jianshu.com/p/6c796944a19f") - mWebView.loadUrl("file:///android_asset/web/test.html") -// mWebView.addJavascriptInterface(webAppInterface, "app") - mWebView.settings.javaScriptEnabled = true - WebView.setWebContentsDebuggingEnabled(true) -// // 注入 -// JSHelper.addJavascriptInterface(mWebView) // 注入JS - addCommands(mWebView) // 添加方法 - -// findViewById(R.id.button).setOnClickListener { -// webAppInterface.showName("测试成功") -// } - } - - fun addCommands(mWebView: WebView) { - val jsInterface = JSInterface() - mWebView.addJavascriptInterface(jsInterface, "app") - - jsInterface.addCommand(Command("getName", object : IWebJS { - override fun invoke(name: String?, params: String?, cbName: String?): String { - return "

FIFTY-SIXTY CURRENT AFFAIRS TEST SERIES -2021




\t இந்திய குடிமைப் பணித் தேர்வில் எனப்படும் தற்கால நிகழ்வுகள் இந்திய மற்றும் சர்வதேச அளவில் முக்கியத்துவம் வாய்ந்த செய்திகள் வினாக்களாக கேட்கப்படுகின்றன இவற்றில் வரலாறு புவியியல் பொருளாதாரம் சுற்றுப்புறச் சூழல் அறிவியல் மற்றும் தொழில்நுட்பம் புவியியல் சம்பந்தப்பட்ட வினாக்கள் கேட்கப்படுகின்றன இந்த தற்கால நிகழ்வுகளுக்கான வினாக்கள் அதிகாரபூர்வமான செய்திகளிலிருந்து பெறப்படுகின்றன இதனடிப்படையில் இந்த தற்கால நிகழ்வுகளுக்கான மாதிரி வினா தேர்வு வினாத் தேர்வு தொடர் அமைக்கப்பட்டுள்ளது இந்த வினா தேர்வு தொடரில் இந்தியா இயர் புக், வேலைவாய்ப்பு செய்திகள், பொருளாதார மதிப்பீடு, அரசாங்க அமைச்சரவைகளின் அதிகாரபூர்வமான ஆண்டு மலர், இந்தியா பத்திரிகை செய்தித் தொடர்புகளின் செய்தி தொகுப்பு ,யோஜனா, குருஷேத்ரா அகில இந்திய வானொலி செய்தி தொகுப்பு, இந்திய அரசாங்கத்தின் வலைத்தளம் மற்றும் இன்ன பிற அதிகாரப்பூர்வ வெளியீடுகளிலிருந்து வினாக்கள் தொகுக்கப்பட்டுள்ளன. அனைத்து வினாக்களும் அரசாங்க அதிகாரப்பூர்வ வெளியீடுகளில் இருந்து பெறப்பட்டவை இவற்றைப் பற்றிய புரிதல் மாணாக்கர்களுக்கு அதிகமாகின்றன. அனைத்து வினாக்களும் விடைகளும் அதற்கான தெளிவான விளக்கங்களும் மின்னணு முறையில் பதிவிறக்கம் செய்து கொள்ளலாம்.இவற்றின் மூலம் மாணாக்கர்களுக்கு தெரியாத வினாக்களுக்கான விடைகளை மாணவர்கள் தெரிந்து கொள்ளலாம் .




ஒரு மதிப்பெண் கூட மாணவரின் வெற்றி தோல்வியை தீர்மானிப்பதாக அமைந்துள்ளது, நேரம் மேம்பாடு நேர மேலாண்மை மற்றும் கருதுகோள் விடைகளை சரியான முறையில் தேர்ந்தெடுக்கும் வகையில் பயிற்சி படுத்தப்படுகிறார்கள். தற்காலத்திய நிகழ்வுகள் பற்றிய அறிதல் மற்றும் புரிதல் மேம்படுகிறது இந்த தேர்வு தொடரில் பயிற்சி மேற்கொள்ளும் பொழுது அதிக மதிப்பெண் பெறுவதற்கான சாத்தியக்கூறுகள் உள்ளன.




இந்தத் தேர்வு தொடரில் தற்போதைய நிலையில் 7 தேர்வுகள் உள்ளன ஒவ்வொரு தேர்விற்கும் 50 வினாக்கள் கொடுக்கப்பட்டுள்ளன. தேர்வுக்கான நேரம் 60 நிமிடங்கள்.எதிர்வரும் காலங்களில் இன்னும் மூன்று தேர்வுகள் இதில் சேர்க்கப்பட உள்ளன. எனவே மொத்தத்தில் 10 தேர்வுகள் கொண்ட ஒரு முழு தொடர் இது.




தேர்வுத் தொடர் சம்பந்தமான ஏதேனும் சந்தேகங்கள் இருப்பின் எங்களது வாட்ஸ்அப் மற்றும் டெலிகிராம் 8939290339 எண்ணுக்கு குறுஞ்செய்தி அனுப்பி தெரிந்து கொள்ளலாம்.




விருப்பமுள்ள மாணவர்கள் இணைந்து பயன் பெறலாம்


" - } - })) - jsInterface.addCommand(Command("sayHello", object : IWebJS { - override fun invoke(name: String?, params: String?, cbName: String?): String { - runOnUiThread { - Toast.makeText(this@WebViewActivity, name ?: "还没点击按钮", Toast.LENGTH_SHORT) - .show() - } - return "" - } - })) - jsInterface.addCommand(Command("back", object : IWebJS { - override fun invoke(name: String?, params: String?, cbName: String?): String { - runOnUiThread { - Toast.makeText(this@WebViewActivity, "点击了H5的按钮", Toast.LENGTH_SHORT).show() - } - return "" - } - })) - jsInterface.addCommand(Command("showName", object : IWebJS { - override fun invoke(name: String?, params: String?, cbName: String?): String { - runOnUiThread { mWebView.loadUrl("javascript:('$name')") } - return "" - } - })) - } -// -// inner class WebAppInterface(val context: Context) { -// -// // 获取Android中的值 -// @JavascriptInterface -// fun getName(): String { -// return "

FIFTY-SIXTY CURRENT AFFAIRS TEST SERIES -2021




\t இந்திய குடிமைப் பணித் தேர்வில் எனப்படும் தற்கால நிகழ்வுகள் இந்திய மற்றும் சர்வதேச அளவில் முக்கியத்துவம் வாய்ந்த செய்திகள் வினாக்களாக கேட்கப்படுகின்றன இவற்றில் வரலாறு புவியியல் பொருளாதாரம் சுற்றுப்புறச் சூழல் அறிவியல் மற்றும் தொழில்நுட்பம் புவியியல் சம்பந்தப்பட்ட வினாக்கள் கேட்கப்படுகின்றன இந்த தற்கால நிகழ்வுகளுக்கான வினாக்கள் அதிகாரபூர்வமான செய்திகளிலிருந்து பெறப்படுகின்றன இதனடிப்படையில் இந்த தற்கால நிகழ்வுகளுக்கான மாதிரி வினா தேர்வு வினாத் தேர்வு தொடர் அமைக்கப்பட்டுள்ளது இந்த வினா தேர்வு தொடரில் இந்தியா இயர் புக், வேலைவாய்ப்பு செய்திகள், பொருளாதார மதிப்பீடு, அரசாங்க அமைச்சரவைகளின் அதிகாரபூர்வமான ஆண்டு மலர், இந்தியா பத்திரிகை செய்தித் தொடர்புகளின் செய்தி தொகுப்பு ,யோஜனா, குருஷேத்ரா அகில இந்திய வானொலி செய்தி தொகுப்பு, இந்திய அரசாங்கத்தின் வலைத்தளம் மற்றும் இன்ன பிற அதிகாரப்பூர்வ வெளியீடுகளிலிருந்து வினாக்கள் தொகுக்கப்பட்டுள்ளன. அனைத்து வினாக்களும் அரசாங்க அதிகாரப்பூர்வ வெளியீடுகளில் இருந்து பெறப்பட்டவை இவற்றைப் பற்றிய புரிதல் மாணாக்கர்களுக்கு அதிகமாகின்றன. அனைத்து வினாக்களும் விடைகளும் அதற்கான தெளிவான விளக்கங்களும் மின்னணு முறையில் பதிவிறக்கம் செய்து கொள்ளலாம்.இவற்றின் மூலம் மாணாக்கர்களுக்கு தெரியாத வினாக்களுக்கான விடைகளை மாணவர்கள் தெரிந்து கொள்ளலாம் .




ஒரு மதிப்பெண் கூட மாணவரின் வெற்றி தோல்வியை தீர்மானிப்பதாக அமைந்துள்ளது, நேரம் மேம்பாடு நேர மேலாண்மை மற்றும் கருதுகோள் விடைகளை சரியான முறையில் தேர்ந்தெடுக்கும் வகையில் பயிற்சி படுத்தப்படுகிறார்கள். தற்காலத்திய நிகழ்வுகள் பற்றிய அறிதல் மற்றும் புரிதல் மேம்படுகிறது இந்த தேர்வு தொடரில் பயிற்சி மேற்கொள்ளும் பொழுது அதிக மதிப்பெண் பெறுவதற்கான சாத்தியக்கூறுகள் உள்ளன.




இந்தத் தேர்வு தொடரில் தற்போதைய நிலையில் 7 தேர்வுகள் உள்ளன ஒவ்வொரு தேர்விற்கும் 50 வினாக்கள் கொடுக்கப்பட்டுள்ளன. தேர்வுக்கான நேரம் 60 நிமிடங்கள்.எதிர்வரும் காலங்களில் இன்னும் மூன்று தேர்வுகள் இதில் சேர்க்கப்பட உள்ளன. எனவே மொத்தத்தில் 10 தேர்வுகள் கொண்ட ஒரு முழு தொடர் இது.




தேர்வுத் தொடர் சம்பந்தமான ஏதேனும் சந்தேகங்கள் இருப்பின் எங்களது வாட்ஸ்அப் மற்றும் டெலிகிராம் 8939290339 எண்ணுக்கு குறுஞ்செய்தி அனுப்பி தெரிந்து கொள்ளலாம்.




விருப்பமுள்ள மாணவர்கள் இணைந்து பயன் பெறலாம்


" -// } -// -// // ----下面是JS调用安卓的方法 -// @JavascriptInterface -// fun sayHello(name: String) { -// val txt = if (name.isBlank()) "还没点本地按钮" else name -// Toast.makeText(context, txt, Toast.LENGTH_SHORT).show() -// } -// -// @JavascriptInterface -// fun back() { -// Toast.makeText(context, "点击了H5的按钮", Toast.LENGTH_SHORT).show() -// } -// -// // ----下面是安卓调用JS的方法 -// @JavascriptInterface -// fun showName(name: String) { -// runOnUiThread { mWebView.loadUrl("javascript:showName('$name')") } -// } -// -// } - - -} - diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWeb.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWeb.kt deleted file mode 100644 index 55f5f42f..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWeb.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.joyy.webviews.api - -import com.joyy.webviews.Command - -/** - * Time:2021/8/23 13:56 - * Author: flannery - * Description: - */ -interface IWeb { - fun loadUrl(url: String, force: Boolean = false) - - fun create() // 创建 - fun resume() // 调用onResume的时候 - fun destroy() // destroy - fun refresh() //刷新 - - fun addCommand(command: Command) - fun removeCommand(command: Command) -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWebCallBack.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWebCallBack.kt deleted file mode 100644 index ff6ce4c7..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWebCallBack.kt +++ /dev/null @@ -1,45 +0,0 @@ -package com.joyy.webviews.api - -import android.content.Intent -import android.graphics.Bitmap -import android.view.View -import android.webkit.WebChromeClient -import android.webkit.WebResourceRequest -import android.webkit.WebView - -/** - * Time:2021/8/23 14:02 - * Author: flannery - * Description: - */ -interface IWebCallBack { - /**************** WebViewClient *************/ - - fun shouldOverrideUrlLoadingWithLoadUrl( - view: WebView?, - request: String? - ): Boolean // 本WebView进行跳转 - - fun onPageStarted(view: WebView?, url: String?, favIcon: Bitmap?) - - fun onPageFinished(isRecError: Boolean) - - fun onReceivedError() - - /**************** WebChromeClient *************/ - - fun onReceivedTitle(view: WebView?, title: String?) - - fun onProgressChanged(newProgress: Int) - - fun onHideCustomView() - - fun doOpenFileChooser(intent: Intent) - - fun onShowCustomView(view: View, callback: WebChromeClient.CustomViewCallback?) - - fun ignoreSslError(url: String?): Boolean - - /**************** 用户信息 *************/ - fun userAgentString(): String -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWebJS.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWebJS.kt deleted file mode 100644 index ccd153e0..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/api/IWebJS.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.joyy.webviews.api - -/** - * Time:2021/8/23 09:50 - * Author: flannery - * Description: - */ -interface IWebJS { - operator fun invoke(name: String?, params: String?, cbName: String?): String? -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/DefaultWebChromeClient.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/DefaultWebChromeClient.kt deleted file mode 100644 index 2fbb7efa..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/DefaultWebChromeClient.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.joyy.webviews.default - -import android.net.Uri -import android.view.View -import android.webkit.ConsoleMessage -import android.webkit.ValueCallback -import android.webkit.WebChromeClient -import android.webkit.WebView -import com.joyy.webviews.api.IWebCallBack -import com.joyy.webviews.utils.JSHelper - -/** - * Time:2021/8/23 14:03 - * Author: flannery - * Description: - */ -class DefaultWebChromeClient(val callBack: IWebCallBack? = null) : WebChromeClient() { - override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean { - JSHelper.log( - """ - onConsoleMessage::msg=${consoleMessage?.message()} - lineNumber=${consoleMessage?.lineNumber()} - level=${consoleMessage?.messageLevel()} - """ - ) - return super.onConsoleMessage(consoleMessage) - } - - override fun onReceivedTitle(view: WebView?, title: String?) { - callBack?.onReceivedTitle(view, title) - super.onReceivedTitle(view, title) - } - - - override fun onProgressChanged(view: WebView?, newProgress: Int) { - callBack?.onProgressChanged(newProgress) - super.onProgressChanged(view, newProgress) - } - - override fun onShowFileChooser( - webView: WebView?, - filePathCallback: ValueCallback>?, - fileChooserParams: FileChooserParams? - ): Boolean { - val acceptTypes = fileChooserParams?.acceptTypes - if (acceptTypes != null && callBack != null) { - callBack.doOpenFileChooser(UploadMessage.openImageChooserActivity(acceptTypes)) - } - return true - } - - - override fun onShowCustomView(view: View?, callback: CustomViewCallback?) { - view?.let { this.callBack?.onShowCustomView(it, callback) } - super.onShowCustomView(view, callback) - } - - override fun onShowCustomView( - view: View?, - requestedOrientation: Int, - callback: CustomViewCallback? - ) { - view?.let { this.callBack?.onShowCustomView(it, callback) } - super.onShowCustomView(view, requestedOrientation, callback) - } - - override fun onHideCustomView() { - callBack?.onHideCustomView() - super.onHideCustomView() - } - -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/DefaultWebViewClient.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/DefaultWebViewClient.kt deleted file mode 100644 index 78fa0153..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/DefaultWebViewClient.kt +++ /dev/null @@ -1,80 +0,0 @@ -package com.joyy.webviews.default - -import android.graphics.Bitmap -import android.net.http.SslError -import android.webkit.* -import com.joyy.webviews.api.IWebCallBack - -/** - * Time:2021/8/23 14:45 - * Author: flannery - * Description: - */ -class DefaultWebViewClient(val callBack: IWebCallBack? = null) : WebViewClient() { - - private var mRecvError = false // 判断是否是因为错误 - private var mCurrentUrl: String? = null - - override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { - return callBack?.shouldOverrideUrlLoadingWithLoadUrl(view, request?.url?.host) - ?: super.shouldOverrideUrlLoading(view, request) - } - - override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean { - return callBack?.shouldOverrideUrlLoadingWithLoadUrl(view, url) - ?: super.shouldOverrideUrlLoading(view, url) - } - - override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { - super.onPageStarted(view, url, favicon) - view?.settings?.blockNetworkImage = false - mRecvError = false - mCurrentUrl = url - callBack?.onPageStarted(view, url, favicon) - } - - override fun onPageFinished(view: WebView?, url: String?) { - super.onPageFinished(view, url) - view?.settings?.blockNetworkImage = false - mCurrentUrl = url - callBack?.onPageFinished(mRecvError) - } - - override fun onLoadResource(view: WebView?, url: String?) { - super.onLoadResource(view, url) - } - - override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler?, error: SslError?) { - if (callBack?.ignoreSslError(error?.url) == true) { - handler?.proceed() - } else { - super.onReceivedSslError(view, handler, error) - } - } - - override fun onReceivedError( - view: WebView?, - request: WebResourceRequest?, - error: WebResourceError? - ) { - super.onReceivedError(view, request, error) - onError(request?.url?.host) - } - - override fun onReceivedError( - view: WebView?, - errorCode: Int, - description: String?, - failingUrl: String? - ) { - super.onReceivedError(view, errorCode, description, failingUrl) - onError(failingUrl) - } - - private fun onError(failingUrl: String?) { - mCurrentUrl = failingUrl - mRecvError = true - callBack?.onReceivedError() - } - -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/UploadMessage.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/UploadMessage.kt deleted file mode 100644 index 226422b6..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/UploadMessage.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.joyy.webviews.default - -import android.content.Intent -import android.net.Uri -import android.os.Build -import android.webkit.ValueCallback - -/** - * Time:2021/8/23 14:10 - * Author: flannery - * Description: - */ -object UploadMessage { -// private val UPLOAD_START_CODE = 2001 -// var uploadMessage: ValueCallback? = null -// val uploadMessageAboveL: ValueCallback>? = null - - fun openImageChooserActivity(acceptType: Array) = - Intent(Intent.ACTION_GET_CONTENT) - .addCategory(Intent.CATEGORY_OPENABLE) - .setType("*/*") - .putExtra(Intent.EXTRA_MIME_TYPES, acceptType) - - fun openImageChooserActivity(acceptType: String) = - Intent.createChooser( - Intent(Intent.ACTION_GET_CONTENT).addCategory(Intent.CATEGORY_OPENABLE) - .setType(acceptType), - "Image Chooser" - ) - - /* - - public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (null == uploadMessage && null == uploadMessageAboveL) { - return; - } - Uri result = (data == null || resultCode != RESULT_OK) ? null : data.getData(); - if (uploadMessageAboveL != null) { - onActivityResultAboveL(requestCode, resultCode, data); - } else if (uploadMessage != null) { - uploadMessage.onReceiveValue(result); - uploadMessage = null; - } - } - - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - private void onActivityResultAboveL(int requestCode, int resultCode, Intent intent) { - if (requestCode != UploadMessage.UPLOAD_START_CODE || uploadMessageAboveL == null) { - return; - } - Uri[] results = null; - if (resultCode == RESULT_OK) { - if (intent != null) { - String dataString = intent.getDataString(); - ClipData clipData = intent.getClipData(); - if (clipData != null) { - results = new Uri[clipData.getItemCount()]; - for (int i = 0; i < clipData.getItemCount(); i++) { - ClipData.Item item = clipData.getItemAt(i); - results[i] = item.getUri(); - } - } - if (dataString != null) { - results = new Uri[]{Uri.parse(dataString)}; - } - } - } - uploadMessageAboveL.onReceiveValue(results); - uploadMessageAboveL = null; - } - */ -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/WebCallBackImpl.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/WebCallBackImpl.kt deleted file mode 100644 index 101832e5..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/default/WebCallBackImpl.kt +++ /dev/null @@ -1,67 +0,0 @@ -package com.joyy.webviews.default - -import android.content.Intent -import android.graphics.Bitmap -import android.os.Build -import android.view.View -import android.webkit.WebChromeClient -import android.webkit.WebView -import com.joyy.webviews.api.IWebCallBack -import java.net.URL - -/** - * Time:2021/8/23 14:57 - * Author: flannery - * Description: - */ -open class WebCallBackImpl : IWebCallBack { - override fun shouldOverrideUrlLoadingWithLoadUrl( - view: WebView?, - request: String? - ): Boolean { - return true - } - - override fun onPageStarted(view: WebView?, url: String?, favIcon: Bitmap?) { - } - - override fun onPageFinished(isRecError: Boolean) { - } - - override fun onReceivedError() { - } - - override fun onReceivedTitle(view: WebView?, title: String?) { - } - - override fun onProgressChanged(newProgress: Int) { - } - - override fun onHideCustomView() { - } - - override fun doOpenFileChooser(intent: Intent) { - } - - override fun onShowCustomView(view: View, callback: WebChromeClient.CustomViewCallback?) { - } - - override fun ignoreSslError(url: String?): Boolean { - val host = URL(url).host - return host.endsWith(".huanjuyun.com") - || host.endsWith(".duowan.com") - || host.endsWith(".yy.com") - || host.endsWith(".hiido.com") - || host.endsWith("yystatic.com") - } - - override fun userAgentString(): String { - return ("Platform/Android" + Build.VERSION.RELEASE + - //" APP/" + "APPID" + - //" AppVersion/" + ver.versionNameWithoutSnapshot + - " Model/" + Build.MODEL + - " Browser/Default" + - " "// + baseUserAgent - ) - } -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/utils/JSHelper.kt b/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/utils/JSHelper.kt deleted file mode 100644 index e7e95398..00000000 --- a/android/AndroidProject/webviews/src/main/java/com/joyy/webviews/utils/JSHelper.kt +++ /dev/null @@ -1,64 +0,0 @@ -package com.joyy.webviews.utils - -import android.util.Log -import android.webkit.ValueCallback -import android.webkit.WebView -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.lifecycleScope -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch -import org.json.JSONObject - -/** - * Time:2021/8/23 10:25 - * Author: flannery - * Description: - */ -object JSHelper { - - fun log(msg: String) { - Log.e("JSHelper", msg) - } - - const val ON_BRIDGE_EVENT = "onBridgeEvent" - - private const val INVOKE_WEB_METHOD_JSON = - "javascript:try{window.YYApiCore.invokeWebMethod('%s',JSON.parse('%s'))}catch(e){if(console)console.log(e)}" - - private const val INVOKE_WEB_METHOD = - "javascript:try{window.YYApiCore.invokeWebMethod('%s',%s)}catch(e){if(console)console.log(e)}" - - private const val INVOKR_TEACHEE_WEB = - "javascript:try{window.%s}catch(e){if(console)console.log(e)}" - - /** - * YY协议, 向H5发送请求 - */ - fun loadYyJs(webView: WebView, params: Any?, func: String? = ON_BRIDGE_EVENT) { - val invokeStr = String.format( - if (params is JSONObject) INVOKE_WEB_METHOD else INVOKE_WEB_METHOD_JSON, - func, - params - ) - loadJavaScript(webView, invokeStr) - } - - private fun loadJavaScript( - webView: WebView, - invokeStr: String, - cb: ValueCallback? = null - ) { - if (invokeStr.isBlank()) return //空的没啥意义 - //suspend CoroutineScope.() -> Unit - val func: suspend CoroutineScope.() -> Unit = { // 通过协程处理 - webView.evaluateJavascript(invokeStr, cb) - } - if (webView.parent is LifecycleOwner) { - (webView.parent as LifecycleOwner).lifecycleScope.launch(block = func) // 局部作用域 - } else { - GlobalScope.launch(block = func) // 全局作用域// 不建议用 - } - } - -} \ No newline at end of file diff --git a/android/AndroidProject/webviews/src/main/res/layout/activity_web_view.xml b/android/AndroidProject/webviews/src/main/res/layout/activity_web_view.xml deleted file mode 100644 index e4ace0ab..00000000 --- a/android/AndroidProject/webviews/src/main/res/layout/activity_web_view.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - -