My study group slide in 2009 for Google Android Development, describing the following topics:
Designing the Obvious,
Resources and Internationalization,
Orientation,
Adapter,
在台灣維基媒體社群 2013 年秋季聚會中介紹「維基媒體國際年會」。
My introduction to Wikimania to the Taiwanese Wikimedia community in the Wikimedia Taiwan Autumn Meetup 2013. For more information on the meetup, see:
http://bit.ly/1ah9zMl
在台灣維基媒體社群 2013 年秋季聚會中介紹「維基媒體國際年會」。
My introduction to Wikimania to the Taiwanese Wikimedia community in the Wikimedia Taiwan Autumn Meetup 2013. For more information on the meetup, see:
http://bit.ly/1ah9zMl
Getting started with android dev and test perspectiveGunjan Kumar
The presentation covers basic intro to Android, how to get started with development, including instructions on setup, common UI usages like menus, dialogs; details on services like Sensors, Location and Google Maps
It also covers ideas on how to test including details on shell and installation instructions without using Eclipse
How We Built the Private AppExchange App (Apex, Visualforce, RWD)Salesforce Developers
The AppExchange and Success Community team built a brand new app this year: the Private AppExchange. Join us and learn how the team built this managed package, the choices we made and why. We will talk about the AppExchange Search Framework that all three of these products are built upon and we will talk about how we made a responsive UI that works on whatever device you choose.
The slides from the Java Meetup which was held in 12th of March 2015 at WSO2 Inc. Sri Lanka. Introduction to Android Development. By : Kasun Delgolla, Chathura Dilan And Inosh Perera, Engineers @ WSO2.
My presentation on Android to the Ruby Users of Minnesota group. Introduces the platform, demo applications I wrote and how to list your app in the Android market.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
More Related Content
Similar to viWave Study Group - Introduction to Google Android Development - Chapter 23 ~ Chapter 29
Getting started with android dev and test perspectiveGunjan Kumar
The presentation covers basic intro to Android, how to get started with development, including instructions on setup, common UI usages like menus, dialogs; details on services like Sensors, Location and Google Maps
It also covers ideas on how to test including details on shell and installation instructions without using Eclipse
How We Built the Private AppExchange App (Apex, Visualforce, RWD)Salesforce Developers
The AppExchange and Success Community team built a brand new app this year: the Private AppExchange. Join us and learn how the team built this managed package, the choices we made and why. We will talk about the AppExchange Search Framework that all three of these products are built upon and we will talk about how we made a responsive UI that works on whatever device you choose.
The slides from the Java Meetup which was held in 12th of March 2015 at WSO2 Inc. Sri Lanka. Introduction to Android Development. By : Kasun Delgolla, Chathura Dilan And Inosh Perera, Engineers @ WSO2.
My presentation on Android to the Ruby Users of Minnesota group. Introduces the platform, demo applications I wrote and how to list your app in the Android market.
Similar to viWave Study Group - Introduction to Google Android Development - Chapter 23 ~ Chapter 29 (20)
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
JMeter webinar - integration with InfluxDB and Grafana
viWave Study Group - Introduction to Google Android Development - Chapter 23 ~ Chapter 29
1. viWave Study Group
Introduction to Google Android Development
Chap. 23~Chap.29
Ted Chien
#7151
ted.chien@viwav.com
Supervisory Engineer
viWave Co. Ltd.
2. Agenda
• Designing the Obvious
• Resource and Internationalization
• Orientation
• Adapter
• Spinner
• Signing Application Key
• Publish to Android Market
3. Designing the Obvious
Make It Simple and Easy-to-Use
Only provides features that users need.
Match user behaviors.
Help users to get advanced.
Easy to recover from mistakes.
Consistence UI elements.
5. Resources
All resource files are in /res folder.
Default folders for different resources:
Values: res/values/<filename>.xml
Layout: res/layout/<filename>.xml
Drawables: res/drawable/<filename>.png
What if we want to have customized
resources for different situations?
6. Resources
Resources can be used for different or specified
situations by setting different qualifiers in folder
name:
Mobile Country Code and Mobile Network Code.
Language Code and Region Code.
Screen types, dimensions, densities and orientations.
Touch screen types.
Keyboard states and types.
Navigation control types.
SDK version.
Possible resource folder name:
res/layout-zh-rTW-large-port-mdpi-finger-qwerty-dpad-
480x320/main.xml
7. Localization
Default: res/values/string.xml
If we need other languages:
res/values-<language-code>-r<region-code>/string.xml
Language code (ISO-639): en, ja, zh,...
Region code (ISO-3166): US, UK, CN, TW,....
Example:
Chinese (Taiwan): res/values-zh-rTW/string.xml
Chinese (PRC): res/values-zh-rCN/string.xml
8. Change UI Locale
Change by UI:
Menu -> Settings -> Locale & Text -> Select Locale
Change by Code:
Resources res = getResources();
Configuration config = res.getConfiguration();
config.locale = Locale.TRADITIONAL_CHINESE; // or Locale.TAIWAN;
DisplayMetrics dm = res.getDisplayMetrics();
res.updateConfiguration(config, dm);
9. Writing code for different
Locales
Resources res = getResources();
Configuration config = res.getConfiguration();
if (config.locale == Locale.TRADITIONAL_CHINESE) {
// do something related to Traditional Chinese;
}
10. Screen Layout and Orientation
Orientation Navigation
Portrait: port notouch
Landscape: land dpad
Square: square trackball
wheel
Touch Screen Type
notouch Resolution
finger 320x240 (QVGA)
stylus 320x480 (HVGA)
400x800
Text Input 400x854
nokeys
qwerty
12key (numbers)
11. Screen Layout and Orientation
Sample: T-Mobile G1
Normal: port-finger-trackball-320x480
Slide out the keyboard: land-finger-qwerty-trackball-320x480
When screen orientation is changed, activity will be re-created
because device configuration is changed.
Solution:
Use SharedPreferences to keep settings in onPause() / onStop().
12. Screen Layout and Orientation
How to fix the screen orientation?
AndroidManifest.xml
Add android:screenOrientation value to <activity> tag.
Values: portrait, landscape, sensor.
In code:
Import android.content.pm.ActivityInfo;
Call setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE )
or
setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ) in
activity.
13. Adapter
Act as an bridge between AdapterView and the data for the
view.
Provides access to different types of data via single interface
to the view.
Types
ArrayAdapter
SimpleAdapter (read array from XML file)
CursorAdapter (read array from content provider)
14. ArrayAdapter
How to Define String Array?
By code
static final String[] strArray = new String[] {
“item1”,
“item2”,
…
};
ArrayAdapter<CharSequence> adapter_string = new
ArrayAdapter<String>(this, android.R.layout.simple_list_item,
strArray);
15. ArrayAdapter
How to define string array?
By XML
res/values/string.xml
<resource>
<string-array name=“strArray”>
<item>1st</item>
….
</string-array>
</resource>
Code:
ArrayAdapter<CharSequence> adapter_string =
ArrayAdapter.createFromResource( this, R.array.strArray,
andorid.R.layout.simple_list_item);
16. Spinner
Spinner is like pull-down menu.
How to add a Spinner?
Layout XML
Add Spinner control.
Set android:drawSelectorOnTop=“true”.
Set android:prompt with title string id.
Code
Call getViewbyId() to get the view and cast to Spinner.
Create ArrayAdapter instance to prepare the data.
Call ArrayAdapter.setDropDownViewResource() to make the resource
of the Drop-Down view.
Set the data adapter to the Spinner control.
17. Spinner
How to select an item in Spinner?
private Spinner.OnItemSelectedListener select = new
Spinner.OnItemSelectedListener() {
public void onItemSelected(AdapterView parent, View v, int position, long id)
{
// something selected.
}
public void onNothingSelected(AdapterView parent) {
// nothing selected.
}
}
Call setOnItemSelectedListener(select) to set the listener to the Spinner control so it
can listen to user behaviors.
After selection, use Spinner.getSelectedItemPosition() to get the selected count.
Select item by code: Spinner.setSelection().
Sample: API Demo - Spinner
19. Things to Know
All applications must be signed.
We can use self-signed certificates to sign applications.
Must sign application with private key before releasing the
application.
System will check certificate’s expiration date at install time.
Signing tool: Keytool and Jarsigner, all in JDK.
After application is signed, we can use zipalign tool to
optimize the apk file.
20. Signing Strategy
Sign all applications with the same certification, throughout
the lifespan of the applications (25 years suggested).
Reasons:
Users can upgrade application seamlessly.
New certification would require new package name, system would
consider your AP as an new one.
APs can run in the same process, and will be treated as single AP.
APs can share code/data with each other.
If AP will be released to Android Market, the valid date of
the certification must be later than October 22, 2033.
21. Signing the Application
Export the unsigned We can do this by using
APK. the Export Wizard in
Eclipse!
Obtain the signing key.
We can also do this by
Signing the key. exporting signed APK in
Package Explorer in
Verifying the key.
Eclipse!
Install the Application
Publish the Application
22. Checking List in
AndroidManifest.xml
• Version defined correctly?
– android:versionCode
– android:versionName
• Activities defined correctly?
• Permissions defined correctly?
• SDK version defined correctly?
– android:minSDKVersion
– android:targetSDKVersion (optional)
– android:maxSDKVersion (optional)
24. Methods to Release
Applications
• Publish to Android Market.
• Publish to 3rd-Party Market.
– SlideMe: http://www.slideme.org
– Camangi Market (for Camangi
WebStation):http://www.camangimarket.com/
– FET Smart Market: http://www.smartapp.tw
– ChinaMobile Mobile Market: http://www.mmarket.com
– AndAppStore: http://andappstore.com
• Put it on our own website for download.
25. How Android Market Works?
• Just upload signed Program.apk to Android Market and click
on Publish, users will see the application to download
immediately.
• Revenue Sharing:
– Paid AP Developer: 70%
– Operators and e-Commerce Providers: 30%
• Users can refund paid application in 24 hours.
26. How to Register for Android
Market?
• Registration Fee: USD 25 for lifetime.
• Where to register for Android Market?
– http://market.android.com/publish
• Must have Google account.
• Must pay the registration fee via Google Checkout.
• Must use international cell phone number.
27. How to Upload AP to Android
Market?
• Must upload Release mode and signed APK file.
• Can publish through different locales, countries, operators,
and categories.
28. Managing AP on Android
Market
• We can see how many applications we have published.
• We can also see how many downloads and ratings of our
applications on Android Market.
• We can view user comments on our applications through 3rd-
Party website:
– Cyket: http://www.cyket.com
– aTrackDog: http://atrackdog.a0soft.com
– Android Stats: http://androidstats.com/ranking/applications